Мне нужно создать динамический набор данных, такой что:
- 1-я строка («Название отдела», текстовое поле, проверка правильности регулярного выражения)
- 2-я строка («название города»,выпадающий список, обязательное подтверждение поля)
- 3-я строка ... и так далее для вставки вручную
![enter image description here](https://i.stack.imgur.com/lWxhT.png)
private void SetInitialRow()
{
DataTable dt = new DataTable();
DataRow dr = null;
// dt.Columns.Add(new DataColumn("RowNumber", typeof(string)));
dt.Columns.AddRange(new DataColumn[3] { new DataColumn("Label", typeof(string)),
new DataColumn("Field Value", typeof(string)),
new DataColumn("Validation Expresssion", typeof(string)) });
dr = dt.NewRow();
dr["Label"] = string.Empty;
dr["Field Value"] = string.Empty;
dr["Validation Expresssion"] = string.Empty;
dt.Rows.Add(dr);
//Store the DataTable in ViewState
ViewState["CurrentTable"] = dt;
Gridview2.DataSource = dt;
Gridview2.DataBind();
}
private void SetPreviousData()
{
int rowIndex = 0;
if (ViewState["CurrentTable"] != null)
{
DataTable dt = (DataTable)ViewState["CurrentTable"];
if (dt.Rows.Count>0)
{
for (int i = 0; i <= dt.Rows.Count; i++)
{
Label lb = (Label)Gridview2.Rows[rowIndex].Cells[0].FindControl("Label1");
TextBox box2 = (TextBox)Gridview2.Rows[rowIndex].Cells[1].FindControl("TextBox2");
TextBox box3 = (TextBox)Gridview2.Rows[rowIndex].Cells[2].FindControl("TextBox3");
lb.Text = dt.Rows[i]["Label"].ToString();
box2.Text = dt.Rows[i]["Field Value"].ToString();
box3.Text = dt.Rows[i]["Validation Expresssion"].ToString();
dt.Rows.Add(lb.Text = "Department Name", box2, box3);
rowIndex++;
}
}
}
}