何实现dataGrid 里面的 checkbox 与表关联?
何实现dataGrid 里面的 checkbox 与表关联?
表结构:
Fid Cont
1 yes
2 no
3 no
4 yes
dataGrid
Fid CheckBox 操作
1 选中 修改
2 未选中 修改
3 未选中 修改
4 选中 修改
初始化时,从表中读取数据。当表中的数据对yes时 CheckBox为选中,否则是非选中状态,
当点击修改时,如果 CheckBox 选中是,表中的 Cont 为yes ,否则为 no
这样的功能怎样实现?有这方面的资料说一下,谢谢了
------解决方案--------------------这样:
先把cont字段转为模板列和Checkbox放在模板列
在DataGridID_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)事件里
if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem || e.Item.ItemType == ListItemType.EditItem || e.Item.ItemType == ListItemType.SelectedItem)
{
CheckBox chk;
chk = (CheckBox)e.Item.Cells[0].FindControl( "CheckBoxId ");
Label lb;
lb = ((Label)e.Item.FindControl( "LabelContID "));
if (lb.Text == "yes ")
{chk.Checked = true;}
else chk.Checked=false;
}
------解决方案-------------------- <asp:TemplateColumn HeaderText= "cont ">
<ItemTemplate>
<asp:CheckBox id= "CheckBox1 " runat= "server " Checked= ' <%#DataBinder.Eval(Container.DataItem, "cont ")%> ' Enabled= "False "> </asp:CheckBox>
</ItemTemplate>
<EditItemTemplate>
<asp:CheckBox id= "Checkbox2 " runat= "server " Checked= ' <%#DataBinder.Eval(Container.DataItem, "cont ")%> ' Enabled= "true "> </asp:CheckBox>
</EditItemTemplate>
</asp:TemplateColumn>