vs2005,C#,网站
页面上有label1-30总共30个label控件,数据库表tb有A,B,C三列,现在要把A字段的传给label1-10,把B传给label11-20,C列给label21-30,当然,每个label只显示一个值!!且count(tb.*)<10;
已有函数如下,不知道能用哪一个
GetDataReader(string SqlString),返回SqlDataReader数据集
GetDataSet(string SqlString)  获取数据,返回一个DataSet。
GetDataTable(string SqlString) 获取数据,返回一个DataTable。 
 GetDataRow(string SqlString),获取数据,返回一个DataRow。  对于控件的循环赋值,好像资料很少,大家都不太懂,。。郁闷
不能用datagrid来解决!!!
望有资深的高手能解决!!!

解决方案 »

  1.   

    遍历循环控件 判断 控件name 然后赋值呢??没事过么?
      

  2.   

    DataRow DataTable都可以呀;DataRow dr = GetDataRow(string);
    for(int i=1; i<11; i++)
    {
      Label l1 = this.Controls[string.Format("Lable"+i.ToString()] as Label;
      Label l2 = this.Controls[string.Format("Lable"+(10+i).ToString()] as Label;
      Label l3 = this.Controls[string.Format("Lable"+(20+i).ToString()] as Label;
      l1.Text = dr[i-1][A].ToString();
      l2.Text = dr[i-1][B].ToString();
      l3.Text = dr[i-1][C].ToString();
    }
      

  3.   

    我觉得,你思路是不是有些不对呢?
    1,为什么不能数据绑定控件,如repeater,datalist,gridview等?
    2,你是不是想 直接帮到lable上,这样方便后台.cs代码取值呢? 如果是这样的话,那你的思路就问题了,直接使用数据绑定控件,也可以后台.cs代码取值,没必要搞这么多label.
      

  4.   

     先找到Label控件,再对他赋值就OK了
    Label lb = (Label)this.Controls["label" + i.ToString()];
      

  5.   

    一个字段的值怎么赋给10个Label?
    是说10个Label都是同一个值吗?
      

  6.   

    Label[] lbs1=new Label[]{lable1,……,lable10};
    Label[] lbs2=new Label[]{lable11,……,lable20};
    Label[] lbs3=new Label[]{lable21,……,lable30};for(int ii=0;ii<10 && ii<table.Rows.Count;ii++)
    {
       lbs1[ii].Text=table.Rows[ii][0].ToString();
       lbs2[ii].Text=table.Rows[ii][1].ToString();
       lbs3[ii].Text=table.Rows[ii][2].ToString();
    }
      

  7.   

    改进
    Label[] lbs1=new Label[]{lable1,……,lable10}; 
    Label[] lbs2=new Label[]{lable11,……,lable20}; 
    Label[] lbs3=new Label[]{lable21,……,lable30}; for(int ii=0;ii <10 ;ii++) 

    if( ii <table.Rows.Count)
    {
      lbs1[ii].Text=table.Rows[ii][0].ToString(); 
      lbs2[ii].Text=table.Rows[ii][1].ToString(); 
      lbs3[ii].Text=table.Rows[ii][2].ToString(); 
    }
    else
    {
      lbs1[ii].Text=""; 
      lbs2[ii].Text="";
      lbs3[ii].Text="";}
    }