我的代码是这样的:
 protected void infoRepeater_ItemDataBound(object sender, RepeaterItemEventArgs e)
    {
        //判断所在的行是否是数据行或交替数据行
        if (e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
        {
             int i=0;
             CheckBox chkBoy = (CheckBox)e.Item.FindControl("chkBoy");
             CheckBox chkGirl = (CheckBox)e.Item.FindControl("chkGirl");
           do
           {
               DataRow dr = addressList.returnDataTable("select sSex from info").Rows[i];
                if ( dr["sSex"].Equals("男"))
                {
                    chkBoy.Checked = true;
                    chkGirl.Checked = false;
                }
                else if (dr["sSex"].Equals("女"))
                {
                    chkGirl.Checked = true;
                    chkBoy.Checked = false;
                }
               i++;
           }
           while(i<infoRepeater.Items.Count);
        }
    }我用上面的方法来做选中男或女,但它每页的性别项总是这样循环的(每页显示3条数据):男 男 女!
不知道怎样解决这个问题呢?
谢谢了!!!

解决方案 »

  1.   

    这个问题有点复杂啊
    不过我的建议是  楼主应该现将数据源排好(数据不是很多)用dataset和datatable操作
    我之前做过将竖向表转换为横向表  应该差不多吧
      

  2.   

     在页面做绑定呢  <asp:CheckBox ID="CheckBox1" Checked='<%#Eval("sex")="男"?true:false %>' runat="server" />
      

  3.   

    多谢!但,
    不行呢,提示:无法将类型“string”隐式转换为“bool”
                  赋值号左边必须是变量、属性或索引器不太懂了!
      

  4.   

    试试这个<asp:CheckBox ID="CheckBox1" Checked='<%#Eval("sex").ToString()=="男"?true:false %>' runat="server" />
      

  5.   


    OK,行了,多谢呢!
    我怎么样又没想到转换一下格式呢,呵呵!
    不知道按照这样的格式能不能应用到dropdownlist和radiobuttonlist呢?这是后话!