我需要用C#动态生成多个checkbox 而且内容是和后台数据库的某张表相连的.
我现在想先select * from 表名 
然后    for(int i=0;i<ds.tables[0].rows.count;i++)
       checkbox ab=new checkbox;
       下面的代码该怎么写呢
          菜鸟提问 在线等

解决方案 »

  1.   

    checkbox ab=new checkbox; 
    这样没错呀
    下面想做什么?
    ab.Text=ds.Tables[0].Rows[i]["fieldName"].ToString();?
    ab.Checked=(bool)ds.Tables[0].Rows[i]["fieldName"];?
      

  2.   

    我下面是这样写的
     checkbox ab=new checkbox();
     string str=ds.Tables[0].Rows[i]["fieldName"].ToString();
     ab.ID="ab"+i.Tostring();
     ab.Text=str
      
    然后下面该怎么写才能使得运行的时候页面出现一个一个的checkbox 而且checkbox的内容是数据库表里某个filename呢?????????????????
      

  3.   

    this.Controls.Add(ab)
    你不如改用CheckBoxList控件
      

  4.   

    我加了这句话后 可是在运行的时候说类型checkbox的控件ab必须放在具有runat=server的窗体标记内 什么意思呀?在html环境下也要改?
    不明白不明白 5555555555
      

  5.   

    我下面是这样写的
     checkbox ab=new checkbox();
     string str=ds.Tables[0].Rows[i]["fieldName"].ToString();
     ab.ID="ab"+i.Tostring();
     ab.Text=str 
      

  6.   

    5楼的说的是什么意思呢 我下面也是这样写的啊 可是运行出来是空白的啊 如果用checkboxlist 和checkbox 有什么区别呀
      

  7.   

    你在页面加个PlaceHolder控件
    然后this.placeHolder1.Controls.Add(eb);ASP.NET我也是正在初学^-^
      

  8.   

     写过类似程序,参考下看行不
    private void load(string typename1) 
            { 
                List <string> typelist = new List <string>(); 
                typelist = DBconn.selectItem(typename1); 
                  Label[] label = new Label[typelist.Count]; 
                int y1 = 15; 
                int y2 = 10; 
                for (int i = 0; i  < typelist.Count; i++) 
                { 
                    if (typelist[i] != "序号") 
                    { 
                        label[i] = new Label(); 
                        label[i].Visible = true; 
                        label[i].AutoSize = true; 
                        label[i].Location = new System.Drawing.Point(60, y1); 
                        label[i].Name = typelist[i]; 
                        label[i].Size = new System.Drawing.Size(100, 12); 
                        label[i].TabIndex = laltabIndex++; 
                        label[i].Text = typelist[i] + ":";                     this.panel1.Controls.Add(label[i]); 
                        textBox[i] = new TextBox(); 
                        textBox[i].Text = "fdfd"; 
                        textBox[i].Visible = true; 
                        textBox[i].Location = new System.Drawing.Point(150, y2); 
                        textBox[i].Name = typelist[i]; 
                        textBox[i].Size = new System.Drawing.Size(160, 21); 
                        textBox[i].TabIndex = txttabIndex++; 
                        this.panel1.Controls.Add(textBox[i]); 
                        y1 = y1 + 40; 
                        y2 = y2 + 40; 
                    } 
                     
                    //  
                } 
      

  9.   

    谢谢大家了 加了个PlaceHolder就OK了 可以显示多个checkbox了 而且和后台数据库字段绑定了 
     我顺便再问个问题  有人知道 <全选> 如何实现吗
      

  10.   

    全选就将PlaceHolder里的checkBox全部选中呀
      

  11.   

    不是 我的意思是现在的所有chenkbox的内容都是后台数据库里某张表的filename 我还需要一个checkbox 内容为"全选",当勾选这个checkbox的时候,其他checkbox 前面的勾都要被勾上,说明所有的checkbox的内容都被全中????
      

  12.   

    就是在全选的这个checkbox CheckChanged事件中,当状态为选中时,
    遍历PlaceHolder里的checkBox,将所有的选中
      

  13.   

    楼主可否发我一份代码例子看看,也是根据数据库表中的字段的多个值在页面显示相应的多个checkbox(同时旁边还显示字段值),求前台代码和后台代码,感激不尽,qq277924602