SqlDataReader sqldr2 = dbOp.getcom("select * from tb_standcolumnName");
            sqldr2.Read();            
            int n = Convert.ToInt32(sqldr2[0].ToString());
            while (sqldr2.Read())     //循环读取每一行,将每一行的数据加入数组
            {
               label[n].text = sqldr2[2].ToString().Trim();//这里我想实现把读取到的数据逐个赋值到label标签的文本,最后效果就是label1.text="" label2.text="" 这样一直赋值下去。 
               n = n + 1;         //循环到下一行
            }

解决方案 »

  1.   

      int n = 0;
      while (sqldr2.Read()) 
      {
       if(label.Length<n)label[n].Text = sqldr2[2].ToString().Trim();  
        n = n + 1; //循环到下一行
      }
      

  2.   

    可以把Label都放在一个Panel里面,按照顺序。
    每次循环时
      Label lbl=(Label)panel.Controls[n];
      lbl.Text=...
      

  3.   

    这样试了还是不对,提示不存在label,我现在的情况是窗体中有label1 label2 等很多个标签,我要把读取到的行第三列数据,一个一个加给各个label标签的text。有谁知道怎么解呀?
      

  4.   

                Label lbl = (Label)panel.Controls[n];提示上下文不存在panel 谁知道是为什么呀?
      

  5.   

    string id="Label" + n.ToString();
    ((Label)this.Page.FindControl(id)).Text=sqldr2[2].ToString().Trim();
      

  6.   

    我感觉这种问题可以采用后台绑定数据源,前台Eval("")结合Html控件来做。不然就只有楼上的那种,FindControl动态查找控件,来实现了。
      

  7.   

    我作的是软件界面的。试了各位的方法都不行。谁知道怎么解呀?
            public void writeLabel()  
            {
                SqlDataReader sqldr3 = dbOp.getcom("select * from tb_standcolumnName");
                sqldr3.Read();            SqlDataReader sqldr5 = dbOp.getcom("select count(*) from tb_standcolumnName");
                sqldr5.Read();
                int n = Convert.ToInt32(sqldr5[0].ToString());            while (sqldr3.Read())     //循环读取每一行,将每一行的数据加入数组
                {
                    string st = sqldr3[2].ToString().Trim();
                    cls_write_cotrol write_cotrol = new cls_write_cotrol();
                    write_cotrol.writer_Control(groupBox1, st);  //在此处出现错误,说是具有一些无效参数。就是st上面出错,谁知道是什么原因呀?              
                    n = n + 1;         //循环到下一行
                }                    }//下面是类方法using System;
    using System.Collections.Generic;
    using System.Linq;
    using System.Text;using System.Windows.Forms;namespace IT部门管理系统
    {
        class cls_write_cotrol
        {
            public void writer_Control(Control.ControlCollection Con,string str)
            {
                foreach (Control C in Con)
                {                                           //遍历可视化控件中的所有控件
                    if (C.GetType().Name == "Label")                      //判断是否为TextBox控件
                        ((Label)C).Text = str;                             //清空当前控件
                }
            }
        }
    }
      

  8.   

    Controls.Find("label" + i.ToString()) // i = 0 -> N