用户注册的时候,可以选择感兴趣的分类用复选框来订阅用的CheckBoxList □选择1 □选择2 □选择3 □选择4 □选择5 □选择6 □选择7 □选择8保存到数据库时我新建了Concern列,把选择用 00000000 的形式保存,选中的为1,不选为0,全选则为11111111。这样后台操作的时候,方便选取相对应的用户。问题就是,用户在修改订阅项目的时候,默认全选和全部不选都很好办,但例如用户注册时选了选择6和选择8,保存在数据库内存的值为00000101,现在点开修改页面,该怎么让选择6 和选择8 默认被选中?DataSet ds = new DataSet();
  dbcom.DataRefresh("select * from BigClass order by bigID desc", ref ds);
  for (int i = 0; i <= ds.Tables[0].Rows.Count - 1; i++)
  {
    CheckBoxList2.Items.Add(new ListItem(ds.Tables[0].Rows[i]["BigName"].ToString() , ds.Tables[0].Rows[i]["ID"].ToString()));
  }
是要先转成2进制的,还是能直接取得第几位的值?

解决方案 »

  1.   

    CheckBoxList2.Item[6-1].Checked=true;
    CheckBoxList2.Item[8-1].Checked=true;
      

  2.   

    2楼可以再说的稍微详细点吗?3、4楼可能没明白我的意思,我知道怎样默认选中,Users表中有个Concern列,
    这里存放的是用户所选择的不同组合,
    用11110111或01011100等形式来存储,
    共有256种选择方式我的问题是比如我现在要群发短消息,如果我选了□选择3 ,那么得到的是00100000,查询数据库的时候,如何判断所有第3位的值是1的用户(或者应该从右向左取第6位)?
      

  3.   

    如果是Insus.NET也许不会这样去做,因为按照数据为设计的角度上来说,这是一个一对多的关系.
    这样,需要设计两张表,一个会员表,一个是爱好表. 后者这个表有一个字段FK即是会员表的PK.
      

  4.   

    我建了一个concern表uid  c1  c2  c3  c4  c5  c6  c7  c8
     22   0   1   0   0   1   0   1   0
     23   0   0   1   1   1   0   0   1该怎么把表内的值绑定到CheckBoxList,列为1的选中,为0的不选中水平差分不多,诚心请教