AspxGridView 联系客服

发布时间 : 星期五 文章AspxGridView更新完毕开始阅读f6b659f86edb6f1afe001f6b

bool reset, int sortIndex);

语法11:void SortBy(int columnIndex, string sortOrder,bool reset, int sortIndex);

语法12:void SortBy(string columnFieldNameOrId, string sortOrder, bool reset, int sortIndex); 其中参数:

sortOrder:可取Ascending、Descending。 Reset:是否清除以前的排序规则。 (2)点击栏位题头排序。

按住Shift键可以指定多个栏位排序。 十五、 服务器端排序 1.排序设置

必须设置AspxGridView允许排序才可执行真正的排序

(SettingsBehavior.AllowSort=true),该选项默认为true。 2.使用SortBy方法排序

语法1.int SortBy(GridViewColumn column,int value)

语法2.ColumnSortOrder SortBy(GridViewColumn column,ColumnSortOrder value)

调用SortBy方法不会自动清除以前的排序栏位,如果不清除之前的排序栏位,则当前栏位会追加到排序栏位列表中。 可以通过以下方法清除以前的排序栏位。

(1) 调用ClearSort方法来清除以前的排序栏位

(2) 遍历栏位的SortIndex属性来确定是否参与过排序及排序的次序

(SortIndex=-1表示不排序,另外栏位的SortOrder可获取或设置排序方式)。GridViewColumn. SortIndex=-1。

(3) 调用GridViewColumn.UnSort()方法 例:

protected void btnServerSort_Click(object sender, EventArgs e) {

string sortColumn = this.ddlSortColumn.SelectedValue; string sortType = this.ddlSortType.SelectedValue; GridViewDataColumn sortDataColumn;

DevExpress.Data.ColumnSortOrder sortOrder;

this.ASPxGridView1.SettingsBehavior.AllowSort = true; if(sortType == \ {

sortOrder =

DevExpress.Data.ColumnSortOrder.Descending; } else {

sortOrder = DevExpress.Data.ColumnSortOrder.Ascending; }

if (sortColumn != null) {

this.ASPxGridView1.ClearSort();//清除以前的排序栏位 sortDataColumn =

this.ASPxGridView1.Columns[sortColumn] as GridViewDataColumn; this.ASPxGridView1.SortBy(sortDataColumn, sortOrder);//执行排序 } }

3.直接操作GridViewDataColumn排序

调用GridViewDataColumn.SortAscending()方法正向排序 调用GridViewDataColumn.SortDescending()方法逆向排序 4.使用GetSortedColumns方法取排序栏位 语法:

System.Collections.ObjectModel.ReadOnlyCollection GetSortedColumns() 例:

System.Collections.ObjectModel.ReadOnlyCollection sortedColumnList = this.ASPxGridView1.GetSortedColumns(); StringBuilder msg = new StringBuilder();

for (int i = 0; i < sortedColumnList.Count; i++) {

msg.Append(sortedColumnList[i].FieldName); }

string js = \

ScriptManager.RegisterClientScriptBlock(this, this.GetType(), \在客户端执行脚本

十六、 服务器端数据分组 1.数据分组的前提条件

必须设置ASPxGridViewBehaviorSettings.AllowGroup=true和ASPxGridViewBehaviorSettings.AllowSort=true。 2.使用GroupBy方法实现数据分组

语法1:int GroupBy(GridViewColumn column);

语法2:int GroupBy(GridViewColumn column, int value); 其中参数value表示分组的层次,-1表示取消该栏位的分组。

调用GroupBy方法不会自动清除以前的分组规则,可以调用ClearSort方法或UnGroup方法清除。 例:用一个栏位分组

this.ASPxGridView1.ClearSort();//清空分组

string columnName = this.ddlGroupColumns.SelectedValue;

GridViewColumn col = this.ASPxGridView1.Columns[columnName]; this.ASPxGridView1.GroupBy(col);//分组 例:用多个栏位分组

this.ASPxGridView1.ClearSort();//清空分组

this.ASPxGridView1.GroupBy(this.ASPxGridView1.Columns[“Event”]);//分组

this.ASPxGridView1.GroupBy(this.ASPxGridView1.Columns[“Type”]);//分组

3.分组的展开与折叠

(1)使用ExpandAll展开所有分组。 语法:void ExpandAll();

(2)使用ExpandRow展开指定分组行。

语法1:void ExpandRow(int visibleIndex);

语法2:void ExpandRow(int visibleIndex, bool recursive); 参数recursive:是否递归。

(3)使用CollapseAll折叠所有分组。 语法:void CollapseAll();

(4)使用CollapseRow折叠指定分组行。

语法1:void CollapseRow(int visibleIndex);

语法2:void CollapseRow(int visibleIndex, bool recursive); 4.判断分组行是否展开 使用IsRowExpanded方法。

语法:bool IsRowExpanded(int visibleIndex); 5.数据分组的相关设置

(1)Setting.GroupFormat用来设置分组行的数据格式(可读写)。

默认是:{0}:{1}{2}。其中{0}表示分组栏位的标签(Caption属性),{1}表示分组栏位值,{2}表示汇总文本。{1}与{2}中间会自动显示括号。只有在标签中定义了汇总方式才会在显示其汇总文本。 例:

(2) Setting. ShowGroupedColumns用来显示已分组的栏位。默认为true。 (3) Setting. ShowGroupedButtons用来显示分组展开按钮(+)。默认为true。 (4) Setting. ShowGroupFooter用来设置分组页脚显示模式

(GridViewGroupFooterMode枚举型)。默认为Hidden。可取值:Hidden、VisibleAlways、VisibleIfExpanded。 (5)分组数据间隔。GroupInterval属性。

例:

GroupInterval可赋如下值:Alphabetical、Date、DateMonth、DateRange、DateYear、Default、DisplayText、Value。 6.按分组值排序

this.ASPxGridView1.GroupSummarySortInfo.Clear(); this.ASPxGridView1.GroupSummarySortInfo.AddRange(new ASPxGroupSummarySortInfo(\

this.ASPxGridView1.GroupSummary[\

ColumnSortOrder.Ascending));

十七、 客户端数据分组

1.使用GroupBy方法实现数据分组

语法1:void GroupBy(int columnIndex);

语法2:void GroupBy(ASPxClientGridViewColumn column); 语法3:void GroupBy(string columnFieldNameOrId);

语法4:void GroupBy(string columnFieldNameOrId, int groupIndex); 语法5:void GroupBy(int columnIndex, int groupIndex);

语法6:void GroupBy(ASPxClientGridViewColumn column, int groupIndex); 语法7:void GroupBy(int columnIndex, int groupIndex,string sortOrder); 语法8:void GroupBy(ASPxClientGridViewColumn column, int groupIndex, string sortOrder);

语法9:void GroupBy(string columnFieldNameOrId, int groupIndex, string sortOrder);

2.分组的展开与折叠

(1)使用ExpandAll展开所有分组。 语法: void ExpandAll();

(2)使用ExpandRow展开指定分组行。

语法1:void ExpandRow(int visibleIndex);

语法2:void ExpandRow(int visibleIndex, bool recursive); 参数recursive:是否递归。

(3)使用CollapseAll折叠所有分组。 语法:void CollapseAll();

(4)使用CollapseRow折叠指定分组行。

语法1:void CollapseRow(int visibleIndex);

语法2:void CollapseRow(int visibleIndex, bool recursive); 3.判断分组行是否展开

使用IsGroupRowExpanded方法。

语法:bool IsGroupRowExpanded(int visibleIndex); 4.判断是分组行还是数据行 (1)判断是否分组行

function IsGroupRow(visibleIndex : int) : bool; (2)判断是否数据行

function IsDataRow(visibleIndex : int) : bool; 5.用户拖动栏位到分组带实现分组

首先需要显示分组带:

十八、 数据导出

1.内置数据导出的前提条件

使用DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter实现数据导出。注意一定要将该控件放在页面上才可。