gridview添加一个新行

时间:2011-05-20 14:44:38

标签: c# asp.net gridview

我有一个gridview,项目模板绑定到sql数据源。我需要在特定行的最后一个textbox itemtemplate的textchanged事件上添加一个新行。问题是当我添加一个新行时,我不会显示由我输入的前一行值。有人可以给我代码来保留这些价值观。请将代码保存在c#中。

感谢

SqlDataAdapter ddm = new SqlDataAdapter(cdm);
DataTable dss = new DataTable();
ddm.Fill(dss);
GridView1.DataSource = dss;
GridView1.DataBind();
for (int i = 0; i <= dss.Rows.Count - 1; i++)
{
   DropDownList dd1 = (DropDownList)GridView1.Rows[i].Cells[1].FindControl("ddl1");

   dd1.DataSource = dss;
   dd1.DataTextField = "Material_Details";
   dd1.DataBind();
}

cn.Close();
//code for new row

DataRow dr = dss.NewRow;
dss.Rows.Add(dr); 

1 个答案:

答案 0 :(得分:0)

根据我的理解,您正在输入值,然后触发添加新行的回发。在回发期间您需要获取您输入的值并保存 /重新显示它们,否则它们将丢失。

通过查找_Changed事件处理程序(或在{(1}}的Load()中)保存它们/将它们添加到DataTable中以便在网格中显示时,可以像以任何其他方式一样保存它们你重新绑定它。