动态绑定ASPxGridView选中状态

来源:互联网 发布:淘宝差评回复技巧 编辑:程序博客网 时间:2024/06/06 07:41

做项目中遇到,记录一下。

private void SelectionState()
{
   
//根据条件从数据库读取数据,最后得到一个集合
   td_examtype et =new td_examtype();
    et.examtype_Profession
= cbProfession.SelectedItem.Value.ToString();
    et.examtype_Type
= Convert.ToInt32(cbType.SelectedItem.Value)+ 1;
     et.examtype_Year
= DateTime.Now.Year.ToString();
     List
<td_examtype> list= Bll_examtype.GetExamType(et);
    
//循环遍历ASPxGridView的行,匹配数据,如果成功,设置Selection,让这一行变成选中状态。
    for (int i= 0; i< ASPxGridView1.VisibleRowCount; i++)
     {
      DataRowView row
= ASPxGridView1.GetRow(i)as DataRowView;
     
if (list.Where(e=> e.examtype_StudentCard== row[0].ToString()).SingleOrDefault()!= null)
      {
         ASPxGridView1.Selection.SelectRow(i);
       }

     }
}

 

其中,ASPxGridView1.GetRow(i)得到的是一个对象,至于是什么对象,视你绑定的数据源而定,因为我绑定的是一个datatable,这里得到的就是datarowview,如果不知道要把它转换成什么对象,可以试试row.GetType().toString(),得到它的数据类型,然后转换就可以了。当然了,你也可以把绑定的数据源全部转换成datatable,这样就可以不用担心类型转换的问题了。另记得线清空ASPxGridView已有的选中状态,ASPxGridView1.Selection.UnselectAll();,再调用这个方法,不然每次更新的时候它只是清空了当前页的绑定状态哦。