在数据库中bit类型1:激活2:未激活现在在datagird中要这样显示,用模板列checkbox,激活就让他选中,没激活就让它不选中,这很容易解决,现在难在,要单击checkbox,自动回送,以进行更新这条记录的激活状态,也就是单击以后,激活变未激活,未激活变激活,很难搞,因为很难通过checkbox得到该条记录的ID,<asp:checkbox中又没有value属性绑定ID值,用<input type="checkbox"又不支持自动回送,除非自己写JS,似乎用JS提交不太好搞,不知怎么解决?

解决方案 »

  1.   

    <ItemTemplate>
    <asp:CheckBox id=CheckBox1 runat="server" Checked='<%# iif(DataBinder.Eval(Container, "DataItem.contract"),true,false) %>' Text='<%# ShowChecked(DataBinder.Eval(Container, "DataItem.contract")) %>'>
    </asp:CheckBox>
    </ItemTemplate>
    public function ShowChecked(byval obj as object) as boolean
    if obj is nothing then
    return false
    end ifif isdbnull(obj) then
    return false
    end ifif obj.tostring="1"
    return true
    else
    return false
    end ifend function
      

  2.   

    <ItemTemplate>
    <asp:CheckBox id=CheckBox1 runat="server" Checked='<%# showChecked(DataBinder.Eval(Container, "DataItem.contract")) %>
    </asp:CheckBox>
    </ItemTemplate>
      

  3.   

    好做,
    foreach(DataGridItem CurRow in 你的DataGrid名.Items)
    {
    ((CheckBox)(CurRow.Cells[7].FillControl("CheckBox名")).Text=CurRow.Cells[0].Text;
    }如果ID在0列;CheckBox在7列
      

  4.   

    对不起,看错你的题了不过不要紧
    你可以不要加CHECKBOX
    你直接写
    E。ITEM。CELLS(0)。TEXT=“<input type='checkbox' name='chk'>”