UltraWebGrid模板列及行的相关操作(转)

      在使用Infragistics NetAdvantage的UltraWebGrid的时候,总是会遇到如何去选择当前行,当前行的某个字段的值,检测模板列的控件并判断其状态等问题。在网上来查找到相关的问题也是七零八落的,总结一下写在这里。
      1、获取UltraWebGrid选中行的信息
      首先要设置UltraWebGrid选择状态为行选择模式。
UltraWebGrid1.DisplayLayout.SelectTypeRowDefault= Infragistics.WebUI.UltraWebGrid.SelectType.Single;
      然后可以获取当前选择的行的信息
//UltraWebGrid1第一列的值如: 
string gridValue = UltraWebGrid1.DisplayLayout.SelectedRows[0].GetCellValue(this.UltraWebGrid1.Columns[0]).ToString();
      受到这个代码的启发,可以获取UltraWebGrid中任何一行的某一列某一行的值
//获取第i行第1列的值
string yqbh = UltraWebGrid1.DisplayLayout.Rows[i].GetCellValue(UltraWebGrid1.Columns[1]) .ToString ();
       
 
      2、设置UltraWebGrid的第0列为模板列,加入CheckBox控件,判断其状态是否被选中,代码如下:          
//可以写在任何地方,属于通用代码
Infragistics.WebUI.UltraWebGrid.TemplatedColumn   tcol   =  (TemplatedColumn)UltraWebGrid1.Bands[0].Columns[0];//模板列 
foreach(CellItem   item   in   tcol.CellItems)  
  {              
          System.Web.UI.WebControls.CheckBox   chkIsHaveRight   
=   (System.Web.UI.WebControls.CheckBox)item.FindControl("chbShenhe");  
          
if(chkIsHaveRight.Checked  ==  true)  
          {  
                  
//进行相关的操作
           }
  }
       
       在这里需要考虑的是如何实现对于UltraWebGrid的跨行操作,对于行的值可以根据UltraWebGrid.DisplayLayout.Pager.PageSize进行计算处理。

posted on 2007-10-16 15:21    阅读(1168)  评论(3编辑  收藏  举报

导航