17.AspxGridView服务器事件列表
2.AutoFilterCellEditorCreate
(1)语法:publicdelegate void ASPxGridViewEditorCreateEventHandler(object sender,
ASPxGridViewEditorCreateEventArgse);
ASPxGridViewEditorCreateEventArgs类包括以下属性:
Column:GridViewDataColumn类型,只读。栏位实例。
EditorProperties:EditPropertiesBase类型,可读写。编辑器属性。
KeyValue:object类型。只读。关键栏位值。
Value:object类型。可读写。过滤栏位值。
VisibleIndex:int类型。只读。行号。
(2)英文说明:Enablesyou to assign editors to individual filter row cells.
(3)触发条件:必须显示了自动过滤工具条
要显示自动过滤行应该做如下设置:
this.ASPxGridView1.Settings.ShowFilterBar= DevExpress.Web.ASPxGridView.GridViewStatusBarMode.Visible;//显示自动过滤工具条
this.ASPxGridView1.Settings.ShowFilterRow= true;//显示自动过滤行
(4)中文说明:允许程序员为过滤行栏位指定个性化编辑器。
通常在该事件中初始化过滤行栏位的初始值、提供符合用户操作习惯的栏位编辑器(如采用下拉列表)
例:
switch (e.Column.FieldName) { case"OCCDatetime": e.Value =DateTime.Now; break; default: break; }
3.AutoFilterCellEditorInitialize
(1)语法:public delegatevoid ASPxGridViewEditorEventHandler(object sender,ASPxGridViewEditorEventArgse);
ASPxGridViewEditorEventArgs类包括以下属性:
Column:GridViewDataColumn类型,只读。栏位实例。
Editor:ASPxEditBase类型,只读。编辑器实例。
KeyValue:object类型。只读。关键栏位值。
Value:object类型。只读。过滤栏位值。
VisibleIndex:int类型。只读。行号。
(2)英文说明:Enables the cell editors displayed within theauto filter row cells to be initialized.
(3)触发条件:必须显示了自动过滤工具条
要显示自动过滤行应该做如下设置:
this.ASPxGridView1.Settings.ShowFilterBar= DevExpress.Web.ASPxGridView.GridViewStatusBarMode.Visible;//显示自动过滤工具条 this.ASPxGridView1.Settings.ShowFilterRow= true;//显示自动过滤行
(4)中文说明:允许程序员为过滤行栏位指定显示格式。
该事件是在AutoFilterCellEditorCreate事件后执行的,可以在此事件中覆盖AutoFilterCellEditorCreate事件中所指定的属性。
例:
switch (e.Column.FieldName) { case"OCCDatetime": e.Editor.BackColor = System.Drawing.Color.Yellow; break; default: break; }
4.BeforeGetCallbackResult
(1)语法:public delegate void EventHandler(object sender, EventArgse);
(2)英文说明:Occurs after a callback, when the ASPxGridView is loaded,but prior to rendering.
(3)触发条件:调用AspxGridView客户端方法GetValuesOnCustomCallback。
(4)中文说明:发生在ASPxGridView已装载但未呈现时获取回调结果。
5.BeforePerformDataSelect
(1)语法:publicdelegate void EventHandler(object sender, EventArgs e);
(2)英文说明:Occursbefore the ASPxGridView control obtains data from a data source.
(3)触发条件:绑定数据时。
(4)中文说明:发生在ASPxGridView从数据源中获取数据之前。
通常在主从模式下用于给明细AspxGridView的数据检索参数赋值。
例:
Session["TaskCode"] = (sender asASPxGridView).GetMasterRowKeyValue(); //Session["TaskCode"]为明细AspxGridView的数据源参数
6.CancelRowEditing
(1)语法:public delegatevoid ASPxStartRowEditingEventHandler(object sender,
ASPxStartRowEditingEventArgse);
ASPxStartRowEditingEventArgs类包括以下属性:
Cancel:bool类型。可读写。
(2)英文说明:Enables you to preventchanges made within a row from being discarded.
(3)触发条件:用户点击内置的【取消】按钮或调用CancelEdit()方法时。
(4)中文说明:取消行编辑状态前事件。
可以在该事件中阻止用户将编辑状态转换为浏览状态。(设置e.Cancel=true)例如弹出对话框提醒用户是否确实需要取消编辑状态或清除在编辑过程中缓存的数据。
7. CellEditorInitialize
(1)语法:publicdelegate void ASPxGridViewEditorEventHandler(object sender,
ASPxGridViewEditorEventArgse);
ASPxGridViewEditorEventArgs类包括以下属性:
Column:GridViewDataColumn类型,只读。栏位实例。
Editor:ASPxEditBase类型,只读。编辑器实例。
KeyValue:object类型。只读。主键栏位值。
Value:object类型。只读。过滤栏位值。
VisibleIndex:int类型。只读。行号。
(2)英文说明:Enables the cell editorsdisplayed within the edit cells to be initialized.
(3)触发条件:发生在行数据状态由浏览状态改为编辑状态时。
(4)中文说明:栏位编辑器初始化事件。
8. ClientLayout
(1)语法:publicdelegate void ASPxClientLayoutHandler(object sender,ASPxClientLayoutArgse);
ASPxClientLayoutArgs类包括以下属性:
LayoutData:string类型,可读写。布局数据。
LayoutMode:ClientLayoutMode类型(枚举)。只读。布局模式。取值范围:Loading、Saving.
(2)英文说明:Enables you to save and restore the previously savedlayout of the ASPxGridView.
(3)触发条件:在调用SaveLayout()保存布局或LoadLayout()装载布局时触发该事件。
(4)中文说明:允许你保存布局或装载之前的布局。
9. CustomButtonCallback
(1)语法:publicdelegate void ASPxGridViewCustomButtonCallbackEventHandler( objectsender,ASPxGridViewCustomButtonCallbackEventArgs e);
ASPxGridViewCustomButtonCallbackEventArgs类包括以下属性:
ButtonID:string类型,只读。按钮名称。
VisibleIndex: int类型。只读。行号。
(2)英文说明:Occurs when a custom command button has been clicked.
(3)触发条件:点击自定义按钮时触发。
(4)中文说明:该事件不能只在页面IsPostBack=false的情况下声明,否则无法触发。
自定义按钮可以在<dxwgv:GridViewCommandColumn >标签中定义。
例:
<dxwgv:GridViewCommandColumn Caption="操作" Visible="true" >? <CustomButtons > <dxwgv:GridViewCommandColumnCustomButton ID="btnSelect"Text="自定义选择" Visibility="AllDataRows" / > </CustomButtons > </dxwgv:GridViewCommandColumn >
通常在该事件中捕获按钮名称调用对应方法作出实际的回应。
例:
string id = e.ButtonID; switch (id) { case"btnSelect": this.ASPxGridView1.Selection.SelectRow(e.VisibleIndex); break; default: break; }
10. CustomCallback
(1)语法:publicdelegate void ASPxGridViewCustomCallbackEventHandler(object sender,ASPxGridViewCustomCallbackEventArgs e);
ASPxGridViewCustomCallbackEventArgs类包括以下属性:
Parameters:string类型,只读。所有自定义参数值。
(2)英文说明:Fires when a round tripto the server has been initiated by a call to the clientASPxClientGridView.PerformCallback method.
(3)触发条件:调用客户端PerformCallback方法时触发。
(4)中文说明:该事件不能只在页面IsPostBack=false的情况下声明,否则无法触发。事件参数ASPxGridViewCustomCallbackEventArgs.Parameters由程序员负责解释。
例: //自定义回调事件
protected void ASPxGridView1_CustomCallback(object sender,ASPxGridViewCustomCallbackEventArgs e) { if(e.Parameters.Length > 0) { intvisibleIndex = 0; string[]parameterList = e.Parameters.Split('|');//取参数列表 if(parameterList.Length > 0) { switch(parameterList[0].ToString().ToLower()) { case"addnewrow"://新增 this.ASPxGridView1.AddNewRow(); break; case"startedit"://修改 if(parameterList.Length >= 2) { if (Int32.TryParse(parameterList[1], out visibleIndex)) { this.ASPxGridView1.StartEdit(visibleIndex); } } break; default: break; } } } }
前台代码示例:
Grid.PerformCallback('StartEdit|2')
11. CustomColumnDisplayText
(1)语法:publicdelegate void ASPxGridViewColumnDisplayTextEventHandler(object sender, ASPxGridViewColumnDisplayTextEventArgse);
ASPxGridViewColumnDisplayTextEventArgs类包括以下属性:
Column:GridViewDataColumn类型,只读。栏位实例。
DisplayText:string类型。可读写。显示文本。
Value:object类型。可读写。栏位值。
VisibleRowIndex:int类型。只读。行号。
ASPxGridViewColumnDisplayTextEventArgs类包括以下方法:
object GetFieldValue(stringfieldName):获取栏位值。
object GetFieldValue(intvisibleRowIndex, string fieldName) :获取栏位值。
(2)英文说明:Enables custom displaytext to be provided for any cell.
(3)触发条件:发生在栏位绑定或取消绑定时。
(4)中文说明:允许你自定义每个单元格的显示文本。比如在数据导出时将栏位值为0改为空值。
12. CustomColumnGroup
(1)语法:publicdelegate void ASPxGridViewCustomColumnSortEventHandler(object sender,CustomColumnSortEventArgs e);
CustomColumnSortEventArgs类包括以下属性:
Column:GridViewDataColumn类型,可读写。栏位实例。
Handled:bool类型。可读写。是否已处理。
ListSourceRowIndex1:int类型,只读。来源行号1。
ListSourceRowIndex2:int类型,只读。来源行号2。
Result:int类型,可读写。分组结果。0表示划入同一组,1或-1表示划入不同组。
SortOrder:ColumnSortOrder类型(枚举),只读。排序方式。
Value1:object类型,只读。值1.
Value2:object类型,只读。值2.
ASPxGridViewColumnDisplayTextEventArgs类包括以下方法:
objectGetRow1Value(string fieldName):获取来源行1的值。
object GetRow2Value(stringfieldName):获取来源行2的值。
(2)英文说明:Provides the ability togroup data using custom rules.
(3)触发条件:只有当栏位的SortMode=”Custom”并且在执行数据分组时才会触发该事件。
(4)中文说明:使用自定义规则分组数据。
当启用自定义的分组规则后应该设置e.Handled=true,否则仍按缺省规则。
该事件是上下两行逐行比较,会多次触发,尽量少用该事件并保持代码简洁。
例:调用分组
((GridViewDataColumn)this.ASPxGridView1.Columns["Score"]).Settings.SortMode= DevExpress.XtraGrid.ColumnSortMode.Custom; this.ASPxGridView1.GroupBy(this.ASPxGridView1.Columns["Score"]);
例:划分分组
if (e.Column.FieldName == "Score") { if (((int)e.Value1< 60 && (int)e.Value2 < 60) ||((int)e.Value1 >= 60 && (int)e.Value1 < 80 &&(int)e.Value2 >= 60 && (int)e.Value2 < 80) ||((int)e.Value1 >= 80 && (int)e.Value1 < 100 &&(int)e.Value2 >= 80 && (int)e.Value2 < 100) ||((int)e.Value1 >= 100 && (int)e.Value2 >= 100)) { e.Result = 0; e.Handled =true; } }
13. CustomColumnSort
(1)语法:publicdelegate void ASPxGridViewCustomColumnSortEventHandler(object sender,CustomColumnSortEventArgs e);
CustomColumnSortEventArgs类包括以下属性:
Column:GridViewDataColumn类型,可读写。栏位实例。
Handled:bool类型。可读写。是否已处理。
ListSourceRowIndex1:int类型,只读。来源行号1。
ListSourceRowIndex2:int类型,只读。来源行号2。
Result:int类型,可读写。分组结果。1表示前一个值小于后一个值,0表示前后两个值相同,-1表示前一个值大于后一个值。
SortOrder:ColumnSortOrder类型(枚举),只读。排序方式。
Value1:object类型,只读。值1.
Value2:object类型,只读。值2.
ASPxGridViewColumnDisplayTextEventArgs类包括以下方法:
objectGetRow1Value(string fieldName):获取来源行1的值。
objectGetRow2Value(string fieldName):获取来源行2的值。
(2)英文说明:Enables you to sort datausing custom rules.
(3)触发条件:只有当栏位的SortMode=”Custom”并且在执行数据排序时才会触发该事件。
(4)中文说明:使用自定义规则排序数据。
当启用自定义的排序规则后应该设置e.Handled=true,否则仍按缺省规则。
该事件是上下两行逐行比较,会多次触发,尽量少用该事件并保持代码简洁。
例:调用排序
((GridViewDataColumn)this.ASPxGridView1.Columns["Event"]).Settings.SortMode= DevExpress.XtraGrid.ColumnSortMode.Custom; this.ASPxGridView1.SortBy(this.ASPxGridView1.Columns["Event"]);
例:自定义栏位排序
if (e.Column.FieldName == "Event") { if (e.SortOrder ==DevExpress.Data.ColumnSortOrder.Ascending) { //按栏位长度正序 if(e.Value1.ToString().Length < e.Value2.ToString().Length) { e.Result =1; } else if(e.Value1.ToString().Length == e.Value2.ToString().Length) { e.Result =0; } else if(e.Value1.ToString().Length > e.Value2.ToString().Length) { e.Result = -1; } } else if(e.SortOrder == DevExpress.Data.ColumnSortOrder.Descending) { //按栏位长度倒序 if(e.Value1.ToString().Length < e.Value2.ToString().Length) { e.Result =-1; } else if (e.Value1.ToString().Length ==e.Value2.ToString().Length) { e.Result =0; } else if(e.Value1.ToString().Length > e.Value2.ToString().Length) { e.Result =1; } } e.Handled = true; }
14. CustomDataCallback
(1)语法:publicdelegate void ASPxGridViewCustomDataCallbackEventHandler(object sender, ASPxGridViewCustomDataCallbackEventArgs e);
ASPxGridViewCustomDataCallbackEventArgs类包括以下属性:
Parameters:string类型,只读。自定义参数。
Result:object类型。可读写。自定义处理结果。
(2)英文说明:Fires when a round tripto the server has been initiated by a call to the clientASPxClientGridView.GetValuesOnCustomCallback method.
(3)触发条件:调用AspxGridView客户端方法GetValuesOnCustomCallback时触发本事件。
(4)中文说明: 程序员可以获取传入参数(e.Parameters)作出回应(设置Result值)。
客户端调用GetValuesOnCustomCallback方法,后台CustomDataCallback事件返回结果,然后在GetValuesOnCustomCallback方法中指定的javascrip方法中显示处理结果。
例:前台代码
grid.GetValuesOnCustomCallback("GetDate", GetDateCallback);
}
function GetDateCallback(result) {
alert(result);
}
例:后台代码
{
e.Result =DateTime.Now.ToShortDateString();
}
15. CustomErrorText
(1)语法:publicdelegate void ASPxGridViewCustomErrorTextEventHandler(object sender,ASPxGridViewCustomErrorTextEventArgs e);
ASPxGridViewCustomErrorTextEventArgs类包括以下属性:
ErrorText:string类型,可读写。错误文本。
ErrorTextKind:GridViewErrorTextKind类型(枚举)。只读。错误来源类型。取值范围:General、RowValidate。
Exception:Exception类型。只读。异常。
(2)英文说明:Enables you to providecustom error descriptions.
(3)触发条件:当AspxGridView发生错误时触发该事件
(4)中文说明:允许你自定义错误描述。
你可以在该事件中本地化错误文本。在RowValidating事件中抛出的异常,ErrorTextKind=GridViewErrorTextKind.RowValidate,其它情况下ErrorTextKind=GridViewErrorTextKind.General。
16. CustomGroupDisplayText
(1)语法:publicdelegate void ASPxGridViewColumnDisplayTextEventHandler (object sender, ASPxGridViewColumnDisplayTextEventArgs e);
ASPxGridViewColumnDisplayTextEventArgs类包括以下属性:
Column:GridViewDataColumn类型,只读。栏位实例。
DisplayText:string类型。可读写。显示文本。
Value:object类型。可读写。栏位值。
VisibleRowIndex:int类型。只读。行号。
ASPxGridViewColumnDisplayTextEventArgs类包括以下方法:
objectGetFieldValue(string fieldName):获取栏位值。
object GetFieldValue(intvisibleRowIndex, string fieldName) :获取栏位值。
(2)英文说明:Enables youto provide custom content for group rows.
(3)触发条件:显示分组数据时触发。
(4)中文说明:允许你自定义分组行内容。
17. CustomJSProperties
(1)语法:publicdelegate void ASPxGridViewClientJSPropertiesEventHandler (object sender, ASPxGridViewClientJSPropertiesEventArgse);
ASPxGridViewClientJSPropertiesEventArgs类包括以下属性:
Properties:Dictionary<string, object >类型,只读。Js属性.
(2)英文说明:Enables you to supply anyserver data that can then be parsed on the client.
(3)触发条件:发生在AspxGridView呈现时。
(4)中文说明:允许你自定义客户端属性。要求属性名必须以“cp”作为前缀。你可以在此事件中自行解释JS属性。
例:C#代码
protected void ASPxGridView1_CustomJSProperties(object sender,ASPxGridViewClientJSPropertiesEventArgs e)
{
e.Properties["cpVisibleRowCount"] = this.ASPxGridView1.VisibleRowCount;
}
例:客户端代码
18. CustomSummaryCalculate
(1)语法:publicdelegate void CustomSummaryEventHandler (objectsender, CustomSummaryEventArgse);
CustomSummaryEventArgs类包括以下属性:
FieldValue:object类型,只读。栏位值。
GroupLevel:int类型,只读。分组节号。
GroupRowHandle:int类型,只读。分组行号。
IsGroupSummary:bool类型,只读。是否组汇总。
(2)英文说明:Enables you to calculatesummary values manually.
(3)触发条件:发生在AspxGridView呈现时。
(4)中文说明:允许你自定义客户端属性。要求属性名必须以“cp”作为前缀。你可以在此事件中自行解释JS属性。
例:C#代码
protected void ASPxGridView1_CustomJSProperties(object sender,ASPxGridViewClientJSPropertiesEventArgs e)
{
e.Properties["cpVisibleRowCount"] = this.ASPxGridView1.VisibleRowCount;
}
例:客户端代码
说明:所有来源为 .net学习网 的文章均为原创,如有转载,请在转载处标注本页地址,谢谢!