C#中datagrid相关问题

来源:百度知道 编辑:UC知道 时间:2024/05/16 17:46:01
我做的是在datagrid中有个消除的CheckBox控件,我想根据数据库的0。1值来确定CheckBox是否选中。据高人指点是在CheckBox中建立一个隐藏列存放数据库的0/1值,然后后台写代码使CheckBox选中。
我写的代码如下:
后台:
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.Cells[7].Text = "0")
{
e.Item.Cells[6] as CheckBox
}
else if(e.Item.Cells[7].Text = "1")
{

}
中间我就不知道加什么代码来改变CheckBox的是否选中了

应该是这句:
((CheckBox)e.Item.FindControl("myCkBox")).Checked=true
在页面上定义 "myCkBox" 就行了.
<asp:CheckBox ID="myCkBox" runat="server"/>

要实现你所说个功能不用这么麻烦,这是我写的测试代码,可以通过。如下:
页面中
<asp:DataGrid ID="dgTest" runat="server">
<Columns>
<asp:TemplateColumn HeaderText="Test">
<ItemTemplate>
<asp:CheckBox ID="checkbox1" runat="server" Checked='<%#DataBinder.Eval(Container.DataItem,"STATE").ToString()=="0"?false:true%>' />
<!--STATE是我数据表中的字段,0是这个字段的值-->
</ItemTemplate>
</asp:TemplateColumn>
</Columns>
</asp:DataGrid>

后台代码:
string SqlCmd = "select STATE from Test";
//MySqlConnection是我自己写