日期:2014-05-18  浏览次数:20468 次

datagrid添加行问题
我是新手,希望大家多多照顾.

我想在DATAGRID里动态添加行,就是说在datagrid里的模版列里放了一个CheckBox,我想选中这个CheckBox就添加一行,我用的是ASP.NET语言.

希望大家力求细致!小第先谢过了.谢谢!

------解决方案--------------------

设置CheckBox的是否回传属性为true

用DataGrid的数据源DataTalbe(dt.NewRow())添加一行,再绑定给DataGrid就显示出新行了...

------解决方案--------------------
datarow dr=dt.newrow();
dr[0]=...;
dr[1]=...;
...
dt.rows.add(dr);
datagrid.datasource=dt;
datagrid.databind();
------解决方案--------------------
一、在.aspx的html视图下修改模版列的Checkbox属性,添加再个属性:
AutoPostBack= "True "
OnCheckedChanged= "CheckBox1_CheckedChanged "
代码如下:
<asp:TemplateColumn>
<ItemTemplate>
<asp:CheckBox id=CheckBox1 runat= "server " AutoPostBack= "True " OnCheckedChanged= "CheckBox1_CheckedChanged "> </asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>

二、在.cs里添加事件响应函数:CheckBox1_CheckedChanged() //(函数名可以任意改)
代码如下:
protected void CheckBox1_CheckedChanged(object sender, System.EventArgs e)
{
//在这里给DataGrid1多加一行
//至于怎么加一行,就要看你的DataGrid1所绑定的是什么数据源,如果是数组,就在绑定之前给这个数组多加一项;如果是数据表,则参考3楼SassyBoy的代码
}
注意:函数修饰符是“protected”或“public”