在datagrid中加了一个checkbox,但这个checkbox不是绑定的,datagrid其它例是绑定的,而这个checkbox初始化时,是通过程序来设定的。
在同一个页面上有一button,当单击时,获取checkbox的值。
但我发现如果初始化在Page.Ispostback中的话,则checkbox全为false,在(!page.ispostback)中的话checked却没有任何更改。
求助。
代码?~~~~~~~
在(!page.ispostback)中绑定checkbox肯定是没问题的
这是对的啊.
你要是把所有代码都写在PAGE_LOAD里面,那我也没办法.
你可以在点击BUTTON后,做个循环来判断是否CHECK.
参考一下:
<asp:TemplateColumn HeaderText="选择">
<HeaderStyle Width="5%"></HeaderStyle>
<ItemStyle HorizontalAlign="Center" VerticalAlign="Middle"></ItemStyle>
<HeaderTemplate>
<FONT face="宋体">选择</FONT>
</HeaderTemplate>
<ItemTemplate>
<asp:CheckBox id="cb_select" runat="server" Width="24px"></asp:CheckBox>
</ItemTemplate>
</asp:TemplateColumn>
后台:
private void Button1_Click(object sender, System.EventArgs e)
{
for(int i = 0; i < this.DataGrid1.Items.Count; i ++)
{
if(((CheckBox)this.DataGrid1.Items[i].FindControl ("cb_select")).Checked ==true)
{
[处理代码]
}
}
}
如果checkbox初始化时,是通过程序来设定的,你也可以这样
<ItemTemplate>
<asp:CheckBox id="cb_select" runat="server" Width="24px"
Checked=<%# GetStatus(DataBinder.Eval(Container, "DataItem.id").ToString())%>></asp:CheckBox>
</ItemTemplate>
后台:
protected bool GetStatus(string sender)
{
[处理代码]
}
用JS
http://goody9807.611.cn/Announce/Announce.asp?BoardID=2&ID=725