private void DataGrid1_EditCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
//当编辑时绑订编辑界面中checkbox
string OldOpenAllArea = ((Label)e.Item.FindControl("LabelOpenAllArea")).Text;//原数据库中的值,通过label.text取到

 CheckBox CheckBoxNewOpenAllArea = (CheckBox)DataGrid1.Items[e.Item.ItemIndex].FindControl("CheckBoxNewOpenAllArea");//重新定义一个checkbox
//按数据库中当前记录的值显示到界面中的checkbox
CheckBoxNewOpenAllArea.Checked =Convert.ToBoolean(OldOpenAllArea) ;
}

解决方案 »

  1.   

    datagrid中该列模板:<asp:TemplateColumn SortExpression="OpenAllArea" HeaderText="是否全部地区">
    <ItemTemplate>
    <asp:Label id=LabelOpenAllArea runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.OpenAllArea") %>'>
    </asp:Label>
    </ItemTemplate>
    <EditItemTemplate>
    <asp:CheckBox id=CheckBoxNewOpenAllArea runat="server" Text='<%# DataBinder.Eval(Container, "DataItem.OpenAllArea") %>'>
    </asp:CheckBox>
    </EditItemTemplate>
    </asp:TemplateColumn>