我现在有个DATALIST中间加了个CHECKBOX
从数据库里读出来N条数据
然后显示了N个CHECKBOX
数据库中有个字段叫AAAA
我想如果AAA是1的话CHECKBOX选中
0的话置空然后写回去  如果选中 AAA置1  不选中AAA置2(还有个标识字段叫BBB)怎么操作呢 谢谢了

解决方案 »

  1.   

    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    CheckBoxList objCheckBoxList = (CheckBoxList)e.Item.FindControl("CheckBoxList1");
    objCheckBoxList.Items.Add(new ListItem("text","value"));

    }
      

  2.   

    可以使用CheckBoxList生成一组CheckBox,绑定数据类似ListBox等this.CheckBoxList1.DataSource = ;//数据源
    this.CheckBoxList1.DataTextField ="";
    this.CheckBoxList1.DataValueField = "";
    this.CheckBoxList1.DataBind();
      

  3.   

    <asp:CheckBox ID="rb_SC1" Runat="server" Checked='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem,"aaa"))==0? true:false %>'></asp:CheckBox >
      

  4.   

    然后可以通过this.CheckBoxList1.Items[index]
    这样访问每一个CheckBox
      

  5.   

    DataValueField 是存什么的? 好像不能标识是否选中吧?
    我现在想这样
    显示时每行都是
    (是否选中,通过DATATABLE里的一个字段aaa)  (显示文字,就是那个DataTextField,通过DATATABLE里的一个字段bbb) (隐式的一个值 就是那个DataValueField 吧,通过DATATABLE里的一个字段ccc)
    这三个都是DATATABLE里的一行   在页面上也要一一对应然后提交试
    写回去,根据DataValueField 找到操作的那一行,如果选中责AAA那个字段置1否则置0