我现在有一个DATAROW,它有若干个CELL。FORM上有若干个LABEL,LABEL和CELL一一对应。
     因为LABEL设置有TAB键顺序,所以我想用一个循环把CELL的VALUE赋给LABEL的TEXT属性。
     for(int i=0;i<=datarow.cells.count;i++)
    {
      for(int j=tab键开始值; j<=tab键结束值;j++)
       {
          用j定位到label.text=datarow.cells[i].value.tostring();
       }
    }

解决方案 »

  1.   

    听你的意思好像是:this.LABEL.tabindex可获取相应LABEL的TAB值。
      

  2.   

     简单拉,对label在命名的时候就采用 名称加下标的方式呀,比如 lab_1_2 表示对应的是第一行第2列的单元格,然后遍历窗体上的lab来进行附值就可以了呀
    如:
    for(int i = 0;i<datarow.colnums.count;i++)
    {
        for(int j=0;j<datarow.rows.count;j++)
        {
              (label)l = this.contorls.find("lab_"+i.tostring()+"_"+j.tostring());
              if(l!=null)
                 l.text = datarow.cells[i][j].value;
         }
    }
    代码不知道写错没,因为没有编辑工具,不过相信LZ能明白意思.
      

  3.   

    谢谢wetcom  你说的已经很接近我的意思了。
    不过我想再的更清楚点,例如:给了我一个int数50,并告知这个数是某个控件的Tab值,我有什么方法可以通过tab值获取那个控件的名字?
      

  4.   

    设置tabindex
    将lable的tabindex设置成你循环的那个值就好了
    然后从controls里面的tabindex找到对应的那个控件应该就可以了
      

  5.   

    给你一个链接:
    http://topic.csdn.net/u/20080401/10/21577710-d80d-4696-b4e2-6b9be529a4b6.html
    最后的结果我也不知道,因为我自己也没有去测试。
      

  6.   

    其实你的问题若是“在Form上有一个DataGrid,若干个Label,需要DataGrid和Label中显示的数据保持同步”,那么,还有其他的解法,至少,使用同一数据源就可以保证得了。
      

  7.   

    后台代码,可以根据clientid,得到,而前台,个人认为,通过,js是可以找到所有页面控件的,根据属性的不同的确找到的控件也不相同。可以通过前后控件来定位,比哪他后面,有textbox之类的,找到挨着textbox的label控件,之后,用document取值。只是,这样的方法不够直接,很烦,不过有时真的就是这样的烦。没办法。