У меня есть gridview, и в некоторых случаях я вставляю в него текстовое поле в RowDataBound:
private void GetColumnWithValidation(GridViewRowEventArgs e, string columnName, int columnLength)
{
if (Convert.ToString(DataBinder.Eval(e.Row.DataItem, columnName)).Length > columnLength)
{
int colindex = GetColumnIndexByName(e.Row, columnName);
TextBox txt = new TextBox();
txt.Text = Convert.ToString(DataBinder.Eval(e.Row.DataItem, columnName));
txt.BorderColor = Color.Red;
txt.ID = "txt_" + i + "_" + colindex;
lstErrorTracker.Add(i + "_" + colindex);
//link.NavigateUrl = Convert.ToString(DataBinder.Eval(e.Row.DataItem, "PV_INVOICE_LOCATION"));
e.Row.Cells[GetColumnIndexByName(e.Row, columnName)].Controls.Add(txt);
}
}
Теперь, если я изменяю некоторые данные в текстовом поле gridview, я хочу, чтобы их каждый раз выбиралиЯ нажимаю кнопку Обновить.Кнопка обновления расположена вне gridview как обычная кнопка asp.net.
Но когда я пытаюсь получить данные, я получаю нулевое значение.
foreach (GridViewRow row in GVUploadDetails.Rows)
{
if (row.RowType == DataControlRowType.DataRow)
{
TextBox txt= (row.Cells[3].FindControl("txt_0_3") as TextBox);
var test = txt.Text;
}
}
Я получаю текстовые данные какноль.Пожалуйста, помогите, как получить эти значения.А с другой стороны, я хочу, чтобы все данные вида сетки были представлены в наборе данных или в виде данных, как я могу их получить.