功能:在运行时动态修改AspxGridView的列属性,包括列是否显示、显示顺序、排序方向等等。
预备知识:
1、首先要明白,AspxGridView中的列的类型,如果直接使用ASPxGridView的Columns属性,则列类型是GridViewColumn。但这个类型中只包含Visible等属性,而像FieldName这些属性则并不在这个类型中定义。这是因为,AspxGridView在运行时,具体的列还有特定的子类,继承自GridViewColumn类。
2、大部分情况下,我们可以直接通过GridViewColumn的直接子类GridViewDataColumn类型来修改列的其他属性。因此,需要对列类型进行如下转换:
GridViewDataColumn dataColumn = (GridViewDataColumn)this.ASPxGridView1.Columns[i];
3、需要注意,如果希望隐藏一个列, 除了要设置其Visible属性为false以外,同时还需要设置其VisibilIndex属性为-1,否则不会起到隐藏的效果。
具体的代码如下:
string fieldName = "";
GridViewDataColumn dataColumn;
for (int i = 0; i < this.ASPxGridView1.Columns.Count; i++)
{
//转化成GridViewDataColumn类型
dataColumn = (GridViewDataColumn)this.ASPxGridView1.Columns[i];
//字段名
fieldName = dataColumn.FieldName;
//别名
this.ASPxGridView1.Columns[i].Caption = "用户姓名";
//是否显示
this.ASPxGridView1.Columns[i].Visible = false;
//同时设定显示序号
this.ASPxGridView1.Columns[i].VisibleIndex = -1;
//宽度
this.ASPxGridView1.Columns[i].Width = Unit.Percentage(10);
//排序方向
dataColumn.SortAscending();
//如果需要降序,则调用:dataColumn.SortDescending();
}
本文作者:网友 来源:网络
CIO之家 www.ciozj.com 微信公众号:imciow