AspxGridView使用手記

AspxGridView使用手記
 
1、  基本使用方法  4
1.導入Dll文件   4
2.Asp.Net頁面控件註冊 4
3. Asp.Net頁面控件聲明    5
4.刪除licenses.licx協議文件(盜版)   5
5.功能概述  5
2、  綁定數據(單層)    5
1.使用DataSource屬性綁定DataTable 5
2.使用DataSourceID屬性綁定SqlDataSource   6
3.使用DataSourceID屬性綁定ObjectDataSource    6
4.使用DataSourceID屬性綁定LinqDataSource  9
5.使用DataSourceID屬性綁定XmlDataSource   10
3、  綁定數據(嵌套樹)   10
1.主從數據綁定    10
4、  客戶端行維護(新增、修改、刪除等)   12
1.編輯狀態  12
2.新增    13
3.修改    13
4.刪除    13
5、  服務器端行維護(新增、修改、刪除等)  13
1.編輯狀態  13
2.新增    13
3.修改    15
4.刪除    16
6、  數據保存    17
7、  客戶端行選擇  17
1.選擇頁面上全部行  17
2.選中指定行或全部行 18
3.獲取選中行 18
4.取消頁面上全部行的選擇   19
5.取消指定行或全部行的選擇  19
8、  服務器端行選擇 19
1.可選擇性設置    19
2.Selection屬性   19
9、  客戶端行定位  20
1.將焦點轉移到編輯行的指定列 20
2.獲取焦點行號    20
3.將某行置爲可見(未驗證)  20
4.跳轉到指定頁    20
10、  服務器端行定位 21
1.焦點行   21
2.將某行置爲可見   21
3.跳轉到指定頁    21
11、 客戶端數據搜索 21
1.數據過濾  21
12、 服務端數據搜索 22
1.數據過濾  22
2.數據搜索  22
十3、 分頁  23
1.分頁條相關屬性   23
2.更改分頁條按鈕屬性 26
3.與分頁相關操做   26
十4、 客戶端排序   26
1.使用SortBy方法排序  26
十5、 服務器端排序  27
1.排序設置  27
2.使用SortBy方法排序  27
3.直接操做GridViewDataColumn排序  28
4.使用GetSortedColumns方法取排序欄位 28
十6、 服務器端數據分組    28
1.數據分組的前提條件 28
2.使用GroupBy方法實現數據分組 28
3.分組的展開與摺疊  29
4.判斷分組行是否展開 29
5.數據分組的相關設置 29
6.按分組值排序    30
十7、 客戶端數據分組 30
1.使用GroupBy方法實現數據分組 30
2.分組的展開與摺疊  30
3.判斷分組行是否展開 31
4.判斷是分組行仍是數據行   31
5.用戶拖動欄位到分組帶實現分組    31
十8、 數據導出    31
1.內置數據導出的前提條件   31
2.支持的數據導出類型 32
3. ASPxGridViewExporter重要屬性 32
4.主從ASPxGridView數據導出    32
5.導出到Pdf時中文亂碼問題的解決  33
十9、 報表打印    33
二10、 懶加載 33
二11、    客戶端欄位取值與賦值  33
1.使用GetPageRowValues取當前頁指定欄位值   33
2.使用GetRowValues取指定行指定欄位值   34
3.使用GetSelectedFieldValues取選中行指定欄位值 34
4.取欄位實例 34
5.使用GetColumnsCount取欄位總數    34
6.使用MoveColumn隱藏和移動欄位   34
7. 使用GetRowKey取行主鍵值 35
二12、    服務器端欄位取值與賦值 35
1.取行值   35
2.取列值   36
二十3、    欄位編輯風格  38
1.AspxGridView欄位類型  38
2.GridViewColumn服務器端重要屬性    38
3.GridViewColumn服務器端方法  40
4.GridViewCommandColumn:命令按鈕列   41
5. GridViewDataColumn:基本數據列 42
6.GridViewDataButtonEditColumn:編輯按鈕列    45
7.GridViewDataCheckColumn: 複選框列 45
8.GridViewDataTextColumn:文本列    45
二十4、    欄位格式化   45
二十5、    固定列 45
二十6、    欄位拖動    45
二十7、    欄位合計    46
二十8、    欄位初始值   46
二十9、    欄位可編輯性  46
三10、 欄位數據校驗  46
1.行數據校驗(編輯狀態)   46
三11、    客戶端事件   49
三12、    服務器端事件  49
1.服務器事件索引   49
2.AutoFilterCellEditorCreate    49
3.AutoFilterCellEditorInitialize    50
4.BeforeGetCallbackResult   50
5.BeforePerformDataSelect   51
6.CancelRowEditing  51
7. CellEditorInitialize 51
7. ClientLayout 52
8. CustomButtonCallback 52
9. CustomCallback   53
10. CustomColumnDisplayText 54
11. CustomColumnGroup   54
12. CustomColumnSort    55
13. CustomDataCallback  56
14. CustomErrorText 57
15. CustomGroupDisplayText  57
16. CustomJSProperties  58
17. CustomSummaryCalculate  58
三十3、    快捷鍵 59
三十4、    樣式  59
1.GridViewStyles重要屬性    59
2. GridViewAlternatingRowStyle重要屬性  59
三十5、    AspxGridView服務器端重要屬性    60
三十6、    AspxGridView服務器端重要方法    60
三十7、    GridViewColumnCollection服務器端重要屬性    61
三十8、    AspxGridView客戶端重要屬性 61
三十9、    AspxGridView客戶端經常使用方法 64
1.PerformCallback   77
四10、 AspxGridView客戶端很是用方法    78
四11、    ASPxClientGridViewColumn(客戶端欄位)經常使用屬性 79
四12、    嵌套AspxGridView的特殊控制 80
1.控制在同一時間只容許一行展開    80
2.SettingsDetail屬性設置    80
3.嵌套AspxGridView樹展開與摺疊(客戶端) 80
四十3、    AspxGridView客戶端源代碼可借鑑點  81
四十4、    AspxGridView服務器端源代碼可借鑑點 81
四十5、    BUG 81
四十6、    附錄  81
1.格式化標識符    81
2.字符串轉爲枚舉型  83
 
1、  基本使用方法
1.導入Dll文件
DevExpress.Web.ASPxGridView.v9.1.dll
DevExpress.Web.ASPxEditors.v9.1.dll
DevExpress.Web.v9.1.dll
DevExpress.Data.v9.1.dll文件
2.Asp.Net頁面控件註冊
<%@ Register Assembly="DevExpress.Web.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web"TagPrefix="dxwgv"%>
<%@ Register Assembly="DevExpress.Web.ASPxEditors.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxEditors"TagPrefix="dxe"%>
<%@ Register Assembly="DevExpress.Web.ASPxGridView.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxGridView"TagPrefix="dxwgv"%>
<%@ Register Assembly="DevExpress.Data.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Data"TagPrefix="dxwgv"%>
3. Asp.Net頁面控件聲明
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server">
        <Columns>
            <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"/>
            <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"/>
            <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
            <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
            <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
            <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
            <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>           
        </Columns>
        </dxwgv:ASPxGridView>
4.刪除licenses.licx協議文件(盜版)
5.功能概述
(1)豐富的內置樣式
(2)內建的 Ajax 操做
(3)提供客戶端 API
(4)內置的排序,分頁,分組,過濾功能,無需另外編碼
(5)支持多種現場編輯模式: inline, EditForm, EditFormAndDisplayRow, PopupEditForm
(6)可定製模板,支持卡片視圖、主從表視圖
 
2、  綁定數據(單層)
能夠經過給AspxGridView的DataSource屬性或DataSourceID賦值來實現數據綁定。
所支持的數據源類型包括:SqlDataSource、ObjectDataSource、XmlDataSource、AccessDataSource、SiteMapDatasource、LinqDataSource
1.使用DataSource屬性綁定DataTable
staticstring_connectionstring = "Data Source=192.168.1.1 nitial Catalog=SDERP;UID=sa;Password=xxxx」
DataSet currentDs = newDataSet();
using(SqlConnection currentConn = newSqlConnection(_connectionstring))
{
    //獲取數據
    currentConn.Open();
    SqlDataAdapter currentSda = newSqlDataAdapter("select row_number() over(order by LogID) as RowNumber,* from Sys_Log", currentConn);
    currentSda.Fill(currentDs, "Sys_Log");
 
    this.ASPxGridView1.DataSource = currentDs.Tables["Sys_Log"];
    this.ASPxGridView1.DataBind();
 
    currentConn.Close();
}
2.使用DataSourceID屬性綁定SqlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server"DataSourceID="SqlDataSource1">
<Columns>
    <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"/>
    <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"/>
    <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
    <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
    <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
    <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>           
</Columns>
</dxwgv:ASPxGridView>
<asp:SqlDataSource
  id="SqlDataSource1"
  runat="server"
  DataSourceMode="DataReader"
  ConnectionString="Data Source=192.168.1.252;Initial Catalog=SDERP;UID=sa;Password=XXXXXXXXX"
  SelectCommand="select row_number() over(order by LogID) as RowNumber,* from Sys_Log">
</asp:SqlDataSource>
3.使用DataSourceID屬性綁定ObjectDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server"DataSourceID="ObjectDataSource1">
<Columns>
    <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"/>
    <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"/>
    <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
    <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
    <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
    <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>           
</Columns>
</dxwgv:ASPxGridView>
<asp:objectdatasource
  id="ObjectDataSource1"
  runat="server"
  selectmethod="GetAllLog"
  typename="AspxGridView.SysLogDAL"/>
其中SysLogDAL.cs代碼以下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
usingSystem.Data;
usingSystem.Data.SqlClient;
usingSystem.Collections;
 
namespaceAspxGridView
{
    publicclassSysLogDAL
    {
        staticstring_connectionstring = "Data Source=192.168.1.252;Initial Catalog=SDERP;UID=sa;Password=XXXXXXXXX";
        publicstaticICollection GetAllLog()
        {
            ArrayList al = newArrayList();
            DataSet currentDs = newDataSet();
            using(SqlConnection currentConn = newSqlConnection(_connectionstring))
            {
                //獲取數據
                currentConn.Open();
                SqlDataAdapter currentSda = newSqlDataAdapter("select * from Sys_Log", currentConn);
                currentSda.Fill(currentDs, "Sys_Log");
 
                DataTable dt = currentDs.Tables["Sys_Log"];
                foreach(DataRow dr indt.Rows)
                {
                    SysLogEntry e = newSysLogEntry();
                    e.LogID = Int32.Parse(dr["LogID"].ToString());
                    e.OCCDatetime = DateTime.Parse(dr["OCCDatetime"].ToString());
                    e.Event = dr["Event"].ToString();
                    e.Type = dr["Type"].ToString();
                    e.Creator = dr["Creator"].ToString();
                    e.CreateDate = DateTime.Parse(dr["CreateDate"].ToString());
                    e.Remark = dr["Remark"].ToString();
                    al.Add(e);
                }
 
                currentConn.Close();
            }
            returnal;
        }
    }
}
其中SysLogEntry.cs代碼以下:
usingSystem;
usingSystem.Collections.Generic;
usingSystem.Linq;
usingSystem.Web;
 
namespaceAspxGridView
{
    publicclassSysLogEntry
    {
        publicintLogID
        {
            get;
            set;
        }
        publicDateTime OCCDatetime
        {
            get;
            set;
        }
        publicstringEvent
        {
            get;
            set;
        }
        publicstringType
        {
            get;
            set;
        }
        publicstringCreator
        {
            get;
            set;
        }
        publicDateTime CreateDate
        {
            get;
            set;
        }
        publicstringRemark
        {
            get;
            set;
        }
    }
}
4.使用DataSourceID屬性綁定LinqDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server"DataSourceID="LinqDataSource1">
<Columns>
    <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"/>
    <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"/>
    <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
    <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
    <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
    <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>           
</Columns>
</dxwgv:ASPxGridView>
<asp:LinqDataSource ID="LinqDataSource1"runat="server"
    ContextTypeName="AspxGridView.SysLogDAL"TableName="SysLogEntrys">
</asp:LinqDataSource>
其中AspxGridView.SysLogDAL有一個SysLogEntrys的屬性,代碼以下(其它代碼同例3)
publicICollection SysLogEntrys
{
    get
    {
        returnthis.GetAllLog(); ;
    }
}
5.使用DataSourceID屬性綁定XmlDataSource
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server"DataSourceID="XmlDataSource1">
<Columns>
    <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"/>
    <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"/>
    <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
    <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
    <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
    <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>           
</Columns>
</dxwgv:ASPxGridView>
<asp:XmlDataSource ID="XmlDataSource1"runat="server"DataFile="~/Sys_Log.xml"></asp:XmlDataSource>
其中Sys_Log.xml文件內容以下
<?xml version='1.0'encoding='gb2312'?>
<data>
    <row LogID="1"OCCDatetime="2010-06-09 10:10:11.083"Event="用戶【楊東】登錄系統"Type="登錄信息"Creator="sa"CreateDate="2010-10-21 11:23:08.090"Remark=""/>
</data>
 
3、  綁定數據(嵌套樹)
1.主從數據綁定
AspxGridView容許嵌套。
能夠經過設置主AspxGridView的ShowDetailRow=true來開啓嵌套。<SettingsDetail ShowDetailRow="true"/>。
子AspxGridView定義在父AspxGridView的<Templates><DetailRow>標籤中。
 
例:Asp.Net代碼
<dxwgv:ASPxGridView ID="MasterGrid"runat="server"KeyFieldName="TaskCode"ClientInstanceName="mastergrid"DataSourceID="SqlDataSource1"
 >       
<SettingsBehavior AllowMultiSelection="true"/>
<Columns>
    <dxwgv:GridViewDataColumn Caption="任務編號"FieldName="TaskCode"/>
    <dxwgv:GridViewDataColumn Caption="任務名稱"FieldName="TaskName"/>
    <dxwgv:GridViewDataColumn Caption="任務類型"FieldName="TaskType"/>
    <dxwgv:GridViewDataColumn Caption="計劃工時"FieldName="PlanHours"/>
    <dxwgv:GridViewDataColumn Caption="計劃開始時間"FieldName="PlanBeginDate"/>
    <dxwgv:GridViewDataColumn Caption="計劃結束時間"FieldName="PlanEndDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>    
    <dxwgv:GridViewCommandColumn Caption="操做"Visible="true">
        <UpdateButton Text="保存"Visible="true"/>
        <NewButton Text="新增"Visible="true"/>
        <CancelButton Text="取消"Visible="true"/>
        <ClearFilterButton Text="清除"Visible="true"/>
        <SelectButton Text="選擇"Visible="true"/>
    </dxwgv:GridViewCommandColumn>     
</Columns>
<SettingsDetail ShowDetailRow="true"/>
<Templates>
    <DetailRow>
        <dxwgv:ASPxGridView ID="DetailGrid"runat="server"KeyFieldName="ID"ClientInstanceName="detailgrid"DataSourceID="SqlDataSource2"
         OnBeforePerformDataSelect="DetailGrid_BeforePerformDataSelect">
            <Columns>
                <dxwgv:GridViewDataColumn Caption="ID"FieldName="ID"/>
                <dxwgv:GridViewDataColumn Caption="任務編號"FieldName="TaskCode"Visible="false"/>
                <dxwgv:GridViewDataColumn Caption="子任務名稱"FieldName="ChildTaskName"/>
                <dxwgv:GridViewDataColumn Caption="執行人"FieldName="ExecuteUser"/>
                <dxwgv:GridViewDataColumn Caption="計劃工時"FieldName="PlanHours"/>
                <dxwgv:GridViewDataColumn Caption="計劃開始時間"FieldName="PlanBeginDate"/>
                <dxwgv:GridViewDataColumn Caption="計劃結束時間"FieldName="PlanEndDate"/>
            </Columns>
            <SettingsDetail IsDetailGrid="true"/>
        </dxwgv:ASPxGridView>
    </DetailRow>
</Templates>
</dxwgv:ASPxGridView>
<asp:ObjectDataSource ID="ObjectDataSource_Type"runat="server"SelectMethod="GetUsers"
TypeName="AspxGridView.SysUser">       
</asp:ObjectDataSource>
 
<asp:SqlDataSource
  id="SqlDataSource1"
  runat="server"          
  DataSourceMode="DataSet"
  ConnectionString="Data Source=192.168.1.252;Initial Catalog=SDERP;UID=sa;Password=shangdaosoft"
  SelectCommand="select * from TM_Task_Master"
  >         
</asp:SqlDataSource>
<asp:SqlDataSource
  id="SqlDataSource2"
  runat="server"          
  DataSourceMode="DataSet"
  ConnectionString="Data Source=192.168.1.252;Initial Catalog=SDERP;UID=sa;Password=shangdaosoft"
  SelectCommand="select * from TM_Task_Detail where TaskCode = @TaskCode"
  >
  <SelectParameters>
    <asp:SessionParameter Name="TaskCode"SessionField="TaskCode"/>
  </SelectParameters>         
</asp:SqlDataSource>
 
C#代碼:
//子AspxGridView數據綁定
protectedvoidDetailGrid_BeforePerformDataSelect(objectsender, EventArgs e)
{
    Session["TaskCode"] = (sender asASPxGridView).GetMasterRowKeyValue();
}
4、  客戶端行維護(新增、修改、刪除等)
1.編輯狀態
(1)進入編輯狀態
在調用AddNewRow()時或點擊【新增】按鈕自動進入編輯狀態
調用StartEditRow()或點擊【編輯】按鈕進入編輯狀態
(2)取消編輯狀態
點擊【取消】按鈕或【保存按鈕】自動取消編輯狀態
調用CancelEdit()或UpdateEdit()取消編輯狀態
2.新增
新增行方法:AddNewRow()
function AddNewRow();
3.修改
調用StartEditRow()使行進入編輯狀態
function StartEditRow(visibleIndex : int);
4.刪除
調用DeleteRow方法實現數據刪除。
語法:function DeleteRow(visibleIndex : int);
 
5、  服務器端行維護(新增、修改、刪除等)
1.編輯狀態
(1)進入編輯狀態
在調用AddNewRow()時或點擊【新增】按鈕自動進入編輯狀態
調用StartEditRow()或點擊【編輯】按鈕進入編輯狀態
(2)取消編輯狀態
點擊【取消】按鈕或【保存按鈕】自動取消編輯狀態
調用CancelEdit()或UpdateEdit()取消編輯狀態
2.新增
(1)在新增、修改、刪除行前應設置KeyFieldName屬性,不然沒法執行行維護。
(2)編輯模式的設置(SettingsEditing.Mode屬性,GridViewEditingMode類型)
Inline:在當前行上直接編輯(相似grid)
EditForm:當前行轉化爲表單,嵌入在行中
EditFormAndDisplayRow:同EditForm,但保留當前行
PopupEditForm: 彈出窗口編輯
(3)新增行的位置
SettingsEditing.NewItemRowPosition屬性用來指定新增行的位置。GridViewNewItemRowPosition枚舉型,可取值:Top、Bottom。默認爲Top。
當取值爲Top時,在當前頁第一行新增;當取值爲Bottom時,在當前頁最後一行新增。
(4)若是使用SqlDataSource做爲數據源,DataSourceMode=」DataSet」纔可更新數據(插入、修改、刪除),DataSourceMode=」datareader」時不可更新數據。同時必須配置InsertCommand屬性。
(5)新增行方法:AddNewRow()
//新增數據行
protectedvoidbtnServerAddRow_Click(objectsender, EventArgs e)
{
    stringeditMode = this.ddlEditMode.SelectedValue;
    GridViewEditingMode gridViewEditingMode;
    switch(editMode)
    {
        case"Inline":
            gridViewEditingMode = GridViewEditingMode.Inline;
            break;
        case"EditForm":
            gridViewEditingMode = GridViewEditingMode.EditForm;
            break;
        case"EditFormAndDisplayRow":
            gridViewEditingMode = GridViewEditingMode.EditFormAndDisplayRow;
            break;
        case"PopupEditForm":
            gridViewEditingMode = GridViewEditingMode.PopupEditForm;
            break;
        default:
            gridViewEditingMode = GridViewEditingMode.Inline;
            break;
    }
    this.ASPxGridView1.SettingsEditing.Mode = gridViewEditingMode;
    this.ASPxGridView1.AddNewRow();
}
新增行後保存數據方法示例
能夠直接點內置的【保存】按鈕保存數據。
<dxwgv:ASPxGridView ID="ASPxGridView1"runat="server"KeyFieldName="LogID"DataSourceID="SqlDataSource1"
>       
<Columns>
    <dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"ReadOnly="false"/>
    <dxwgv:GridViewDataColumn Caption="發生時間"FieldName="OCCDatetime"ReadOnly="false"/>
    <dxwgv:GridViewDataColumn Caption="事件"FieldName="Event"/>
    <dxwgv:GridViewDataColumn Caption="類型"FieldName="Type"/>
    <dxwgv:GridViewDataColumn Caption="建立人"FieldName="Creator"/>
    <dxwgv:GridViewDataColumn Caption="建立日期"FieldName="CreateDate"/>
    <dxwgv:GridViewDataColumn Caption="備註"FieldName="Remark"/>     
    <dxwgv:GridViewCommandColumn Caption="操做"Visible="true">
        <UpdateButton Text="保存"Visible="true"/>
        <NewButton Text="新增"Visible="true"/>
    </dxwgv:GridViewCommandColumn>     
</Columns>
</dxwgv:ASPxGridView>
 
<asp:SqlDataSource
  id="SqlDataSource1"
  runat="server"          
  DataSourceMode="DataSet"
  ConnectionString="Data Source=192.168.1.252;Initial Catalog=SDERP;UID=sa;Password=XXXXXXXXX"
  SelectCommand="select * from Sys_Log"
  InsertCommand="Insert into Sys_Log(OCCDatetime,Event,Type,Creator,CreateDate,Remark) values(@OCCDatetime,@Event,@Type,@Creator,@CreateDate,@Remark)">
  <InsertParameters>
    <asp:Parameter Name="OCCDatetime"Type="DateTime"/>
    <asp:Parameter Name="Event"Type="String"/>
    <asp:Parameter Name="Type"Type="String"/>
    <asp:Parameter Name="Creator"Type="String"/>
    <asp:Parameter Name="CreateDate"Type="DateTime"/>
    <asp:Parameter Name="Remark"Type="String"/>          
  </InsertParameters>
</asp:SqlDataSource>
也能夠調用AspxGridView的UpdateEdit方法實現保存。
例:
protectedvoidbtnServerSave_Click(objectsender, EventArgs e)
{
    this.ASPxGridView1.UpdateEdit();//保存數據
    this.ASPxGridView1.CancelEdit();//取消編輯狀態
}
3.修改
(1)必要條件:數據源必須支持更新(如SqlDataSource配置了UpdateCommand), 必須有主鍵。
(2)調用StartEdit方法使行進入編輯狀態
能夠調用UpdateEdit方法保存數據,或調用CancelEdit方法取消編輯狀態。
也能夠顯示出內置的【編輯】按鈕讓用戶點擊進入編輯狀態。
例:
intfirstSelectedRowIndex =-1;
 
if(this.ASPxGridView1.VisibleRowCount <= 0) return;
//取選中的第一行
do
{
    firstSelectedRowIndex++;
    if(this.ASPxGridView1.Selection.IsRowSelected(firstSelectedRowIndex))
    {
        break;
    }
} while(firstSelectedRowIndex >= 0 || firstSelectedRowIndex >= this.ASPxGridView1.VisibleRowCount);
 
if(firstSelectedRowIndex == -1)
{
    firstSelectedRowIndex = 0;
}
intlogID = (int)(this.ASPxGridView1.GetRowValues(firstSelectedRowIndex, "LogID"));
 
this.ASPxGridView1.MakeRowVisible(logID);//使指定行可見
this.ASPxGridView1.FocusedRowIndex = 0;//使指定行成爲當前行
this.ASPxGridView1.Selection.UnselectAll();//取消全部行的選擇
this.ASPxGridView1.Selection.SelectRow(0);//選中第一行
this.ASPxGridView1.StartEdit(firstSelectedRowIndex);//使指定行進入編輯狀態
 
4.刪除
(1)若是數據源不支持刪除則沒法執行。必須有主鍵才能刪除(KeyFieldName)。
(2)可調用DeleteRow方法實現數據刪除。DeleteRow成功執行後會將數據從數據庫中刪除。調用DeleteRow方法會首先觸發RowDeleting事件(能夠在此事件中阻止刪除),執行後會觸發RowDeleted事件。終端用戶還能夠經過點擊內置的【刪除】按鈕實現刪除。
DeleteRow語法:
Void DeleteRow(intvisibleIndex)
參數visibleIndex表示行號。
RowDeleting事件的聲明原型:
voidASPxGridView1_RowDeleting(objectsender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
能夠經過修改ASPxDataDeletingEventArgs.Cancel=true來阻止刪除。
DevExpress.Web.Data.ASPxDataDeletingEventArgs屬性:
Cancel:bool,是否取消刪除。可讀寫。
Keys:OrderedDictionary,要刪除行的主鍵欄位值。只讀。
Values: OrderedDictionary,要刪除行的非主鍵(其實是全部欄位)欄位值。只讀。
例:
//刪除行前事件
protectedvoidASPxGridView1_RowDeleting(objectsender, DevExpress.Web.Data.ASPxDataDeletingEventArgs e)
{
    for(inti = 0; i < e.Keys.Count; i++)
    {
        if(Int32.Parse(e.Keys[i].ToString()) > 20000)
        {
            e.Cancel = true;
            break;
        }
    }
}
RowDeleted事件的聲明原型:
voidASPxGridView1_RowDeleted(objectsender, DevExpress.Web.Data.ASPxDataDeletedEventArgs e)
能夠在此事件中獲取刪除時出現的異常並按本身的方法處理異常,或記錄成功刪除的行數。
DevExpress.Web.Data.ASPxDataDeletedEventArgs屬性包括:
AffectedRecords:int,刪除影響到的行數。只讀。
Exception:Exception,刪除數據期間發生的異常。只讀。
ExceptionHandled:bool,是否已處理異常。可讀寫。
Keys:OrderedDictionary,要刪除行的主鍵欄位值。只讀。
Values: OrderedDictionary,要刪除行的非主鍵(其實是全部欄位)欄位值。只讀。
 
6、  數據保存
調用UpdateEdit方法保存數據。或調用BeginUpdate()和EndUpdate()保存數據。
7、  客戶端行選擇
1.選擇頁面上全部行
(1)SelectAllRowsOnPage方法
語法1:voidSelectAllRowsOnPage()
語法2:voidSelectAllRowsOnPage(boolselected)
參數:selected:選擇或取消選擇
2.選中指定行或全部行
(1)SelectRows方法
語法1: voidSelectRows()//選擇全部記錄(包括不是當前頁的記錄)
語法2: voidSelectRows(intvisibleIndex)//選擇指定行(必須設置KeyFieldName)
語法3: voidSelectRows(int32[] visibleIndces)
語法4: voidSelectRows(intvisibleIndex,boolselected)
語法5: voidSelectRows(int32[] visibleIndces,boolselected)
例:選中第1-10行
varrows = newArray();
for(vari = 0; i < 10; i++) {
    rows[i] = i;
}
grid.SelectRows(rows);
(2)SelectRowsByKey方法
語法1:voidSelectRowsByKey(objectkey)
語法2:voidSelectRowsByKey(Object[] keys)
語法3:voidSelectRowsByKey(objectkey, boolselected);
語法4:voidSelectRowsByKey(Object[] keys, boolselected);
3.獲取選中行
(1)取選中行數
語法:Int GetSelectedRowCount()
(2)取選中行欄位值
function GetSelectedFieldValues(fieldNames : String,onCallback : ASPxClientGridViewValuesCallback);
例:
function GetSelectedFieldValues(){
    varfieldNames = "LogID";
    grid.GetSelectedFieldValues(fieldNames, GetSelectedFieldValues_Callback);
}
function GetSelectedFieldValues_Callback(result) {
    varmsg="";
    if(result.length > 0) {
        for(vari = 0; i < result.length; i++) {
            msg = msg + result[i].toString();
        }
    }
    alert(msg);
}
4.取消頁面上全部行的選擇
(1)UnselectAllRowsOnPage方法
語法:voidUnselectAllRowsOnPage()
5.取消指定行或全部行的選擇
(1)UnselectRowOnPage方法
語法:function UnselectRowOnPage(visibleIndex : int);
(2)UnselectRows方法
語法1:voidUnselectRows();//取消全部行的選擇
語法2:voidUnselectRows(intvisibleIndex);//取消指定行的選擇
語法3:voidUnselectRows(Int32[] visibleIndices); //取消指定範圍內行的選擇
(3) UnselectRowsByKey方法
語法1:voidUnselectRowsByKey(Object[] keys);
語法2:voidUnselectRowsByKey(objectkey);
8、  服務器端行選擇
1.可選擇性設置
AspxGridView的SettingsBehavior屬性中能夠設置是否容許多行選。
This.AspxGridView.SettingsBehavior.AllowSelectByRowClick=true//是否支持單擊行選擇(V10.0以上)
This.AspxGridView.SettingsBehavior.AllowMultiSelection=true//是否支持多選
2.Selection屬性
AspxGridView的Selection屬性封裝了與行選擇有關的屬性和方法。它是DevExpress.Web.Data.WebDataSelection類型。
(1) voidSelection.SelectAll():選中全部行。不只僅包括當前頁可見的行,還包括非當前頁的行。
(2) voidSelection.SelectRow(intvisibleIndex):選中指定行。該行必須在當前頁可見才能被選中。
(3) voidSelection.SelectRowByKey(objectkeyValue):按主鍵值選中指定行。該行能夠沒必要在當前頁。要注意主鍵值的數據類型應與主鍵列所定義的數據類型一致。
(4) voidSelection.UnselectAll():取消全部行的選擇。不只僅包括當前頁可見的行,還包括非當前頁的行。
(5) voidSelection.UnselectRow(intvisibleIndex):取消指定行的選擇。該行必須在當前頁可見才能被取消選中。
(6) voidSelection.UnselectRowByKey(objectkeyValue):按主鍵值取消指定行的選擇。該行能夠沒必要在當前頁。要注意主鍵值的數據類型應與主鍵列所定義的數據類型一致。
(7) voidSelection.SetSelection(intvisibleIndex,boolselected):選中或取消選中指定行。該行必須在當前頁可見才能被選擇或取消選中。
(8) voidSelection.SetSelectionByKey(objectkeyValue,boolselected):根據主鍵值選中或取消選中指定行。該行能夠沒必要在當前頁。
(9) boolSelection.IsRowSelected(intvisibleIndex):判斷指定行是否被選中。該行必須在當前頁可見。
(10)    boolSelection.IsRowSelectedByKey(objectkeyValue):判斷指定主鍵值對應行是否被選中。該行能夠不在當前頁。
(11)    count屬性(int)返回選中行的行數。
9、  客戶端行定位
1.將焦點轉移到編輯行的指定列
(1)調用SetFocusedRowIndex設置焦點行
function SetFocusedRowIndex(visibleIndex : int);
調用SetFocusedRowIndex方法後將觸發FocusedRowChanged事件
(2)調用FocusEditor方法將焦點轉移到編輯行的指定列
語法1:FocusEditor(ASPxClientGridViewColumn column);
語法2:FocusEditor(intcolumnIndex);
語法3:FocusEditor(stringcolumnFieldNameOrId);
2.獲取焦點行號
調用GetFocusedRowIndex方法
語法:function GetFocusedRowIndex() : int;
3.將某行置爲可見(未驗證)
調用SetClientVisible方法。
4.跳轉到指定頁
(1)調用GotoPage方法跳轉到指定行。
function GotoPage(pageIndex : int);
(2)調用PrevPage方法跳轉到前一頁。
function PrevPage();
(3)調用NextPage方法跳轉到下一頁。
function NextPage();
 
10、  服務器端行定位
1.焦點行
AspxGridView的焦點行(當前行)與選擇行是有區別的
(1) 獲取或設置焦點行能夠訪問其FocusedRowIndex屬性。
(2) 能夠經過SettingsBehavior.AllowFocusedRow讀取或設置是否容許定位焦點行。
(3) 能夠調用AspxGridView的MakeRowVisible方法使指定主鍵值的行所在頁可見,從而當即看到選中或跳轉的效果。
例:
intkeyValue = (int)(this.ASPxGridView1.GetRowValues(0,"LogID"));
this.ASPxGridView1.MakeRowVisible(keyValue);
this.ASPxGridView1.FocusedRowIndex = 0;
this.ASPxGridView1.Selection.UnselectAll();//取消全部行的選擇
this.ASPxGridView1.Selection.SelectRow(0);//選中第一行
2.將某行置爲可見
調用MakeRowVisible方法。
3.跳轉到指定頁
將PageIndex修改成指定頁號則可跳轉到指定頁。
11、 客戶端數據搜索
1.數據過濾
(1)調用AutoFilterByColumn()方法實現過濾。
語法1:voidAutoFilterByColumn(ASPxClientGridViewColumn column, stringval);
語法2:voidAutoFilterByColumn(intcolumnIndex, stringval);
語法3:voidAutoFilterByColumn(stringcolumnFieldNameOrId, stringval);
不會自動清除以前的過濾條件。
(2)調用ApplyFilter實現過濾。
語法:function ApplyFilter(filterExpression : String);
語法:
varfilterExpr = document.getElementById("<%=txtFilterExpression.ClientID%>").value;
grid.ApplyFilter(filterExpr);
會自動清除以前的過濾條件。
(3)調用ClearFilter清除過濾條件
語法:function ClearFilter();
12、 服務端數據搜索
1.數據過濾
(1)調用AutoFilterByColumn()方法能夠實現服務端數據過濾。
AutoFilterByColumn語法:voidAutoFilterByColumn(GridViewColumn column,stringvalue)
參數說明:
column:要過濾的欄位
value:要過濾的欄位值。可使用通配符。
例:數據過濾
protectedvoidbtnServerFilter_Click(objectsender, EventArgs e)
{
    stringfilterColumnName = this.ddlFilterColumNames.SelectedValue;
    if(filterColumnName != null)
    {
        GridViewColumn col = this.ASPxGridView1.Columns[filterColumnName] asGridViewColumn;
        this.ASPxGridView1.AutoFilterByColumn(col, this.txtFilterColumnValue.Text);
    }   
}
(2)經過設置過濾工具條讓用戶自行輸入條件過濾數據
this.ASPxGridView1.Settings.ShowFilterBar = GridViewStatusBarMode.Visible;//過濾狀態條模式
this.ASPxGridView1.Settings.ShowFilterRow = true;//是否過濾行
this.ASPxGridView1.Settings.ShowFilterRowMenu = true;//是否顯示過濾菜單
this.ASPxGridView1.SettingsBehavior.AutoFilterRowInputDelay = 1000;//自動過濾時間間隔(單位:毫秒,默認值:1200)
(3)設置FilterExpression過濾表達式
這是最靈活的一種的方法,可使用任何有效過濾表達式(包括值比較操做符、邏輯運算符)
例:
LogID > 23955 and Event like '%審覈%'
2.數據搜索
(1) FindVisibleIndexByKeyValue
語法:intFindVisibleIndexByKeyValue(objectkeyValue)
例:
//搜索
protectedvoidbtnFindKeyValue_Click(objectsender, EventArgs e)
{
    stringkeyValue = this.txtFindKeyValue.Text;
    intlogID;
     
    if(keyValue.Length > 0 && Int32.TryParse(keyValue,outlogID))
    {
        introwIndex = this.ASPxGridView1.FindVisibleIndexByKeyValue(logID);
        if(rowIndex >= 0)
        {
            this.ASPxGridView1.Selection.UnselectAll();//取消全部行的選擇
            this.ASPxGridView1.Selection.SelectRow(rowIndex);//選中指定行
            this.ASPxGridView1.FocusedRowIndex = rowIndex;
            this.ASPxGridView1.MakeRowVisible(logID);
        }
    }
}
 
十3、 分頁
AspxGridView默認支持分頁,默認每頁行數(PageSize)是10。若是不想分頁,能夠設置SettingsPager的Mode=」 ShowAllRecords」。能夠經過訪問SettingsPager讀取或更改相關分頁屬性。
1.分頁條相關屬性
屬性名 數據類型    英文說明    中文說明
AlwaysShowPager bool    Gets or sets whether the Pager isdisplayed within the ASPxGridView when there isonly onpage. 是否老是顯示分頁條(即在一頁時是否也顯示分頁條)。可讀寫
CurrentPageNumberFormat string  Gets or sets the pattern used to format the text of the numeric button that corresponds to the selected page.   當前頁次數字格式。可讀寫。相似以下格式:{0:G}
EllipsisMode    DevExpress.Web.ASPxPager.PagerEllipsisMode(枚舉)  Gets or sets how an Ellipsis symbol(s) isdrawn to indicate page numbers that are omitted.  獲取或設置頁碼省略模式。可讀寫。InsideNumeric:中間頁碼省略,None:不顯示省略符,OutsideNumeric:兩端頁碼省略
AllButton   DevExpress.Web.ASPxPager.AllButtonProperties    Gets the All button’s settings. 取全部分頁條上按鈕屬性.只讀
FirstPageButton DevExpress.Web.ASPxPager.FirstButtonProperties  Gets the First button's settings.   獲取首頁按鈕屬性設置。只讀。一般更改其顯示文本、可見性、圖片。
LastPageButton  DevExpress.Web.ASPxPager.LastButtonProperties   Gets the Last button's settings.    獲取末頁按鈕屬性設置。只讀。一般更改其顯示文本、可見性、圖片。
PrevPageButton  DevExpress.Web.ASPxPager.PrevButtonProperties   Gets the Previous button's settings.    獲取上頁按鈕屬性設置。只讀。一般更改其顯示文本、可見性、圖片。
NextPageButton  DevExpress.Web.ASPxPager.NextButtonProperties   Gets the Next button's settings.    獲取下頁按鈕屬性設置。只讀。一般更改其顯示文本、可見性、圖片。
Mode    GridViewPagerMode(枚舉)   Gets or sets whether page-mode navigation isenabled.   獲取或設置是否分頁。可讀寫。取值範圍:ShowPager,表示要求分頁;ShowAllRecords,顯示全部記錄,其實是不分頁。
NumericButtonCount  Int Gets or sets the maximum number of numeric buttons that can be
displayed within a paginated control.   獲取或設置顯示在分頁條上的數字頁碼個數。可讀寫。
PageNumberFormat    String  Gets or sets the pattern used to format the text of numeric buttons.    數字頁碼格式。可讀寫。相似以下格式:{0:G}
PageSize    Int Gets or sets the maximum number of rows that can be displayed ona
page.   每頁行數。可讀寫。默認爲10.
Position    PagerPosition(枚舉)   Gets or sets the pager's position within an ASPxGridView control.   獲取或設置分頁條位置。可讀寫。取值範圍:Top,Bottom, TopAndBottom.
SEOFriendly DevExpress.Web.ASPxPager.SEOFriendlyMode(枚舉)    Gets or sets whether Search-Engine Optimization (SEO) mode isenabled.  獲取或設置搜索優化模式。可讀寫。取值範圍:Enabled,啓用;Disabled,不啓用;CrawlerOnly,自動檢測。
ShowDefaultImages   bool    Gets or sets whether defaultbutton images are shown.   獲取或設置是否顯示缺省的分頁圖片。可讀寫。只有本屬性設置爲true,分頁按鈕(如首頁)的圖片才能更改生效。
ShowDisabledButtons Bool    Gets or sets whether navigation buttons that are temporarily disabled are shown.    獲取或設置當分頁按鈕無效時是否隱藏。可讀寫。
ShowNumericButtons  Bool    Gets or sets whether numeric buttons are visible.   獲取或設置數字頁碼是否可見。可讀寫。
ShowSeparators  Bool    Gets or sets whether separators that separate page numbers are shown.   獲取或設置頁碼間是否放置分隔條(|)。可讀寫。
Summary DevExpress.Web.ASPxPager.SummaryProperties  Gets the control's Summary settings.   獲取分頁控件彙總屬性。只讀。
Visible Bool    Gets or sets whether the pager isvisible.  獲取或設置分頁條是否可見。可讀寫。
其中如下屬性一般會被訪問或重置。PageSize、各分頁按鈕文本。
2.更改分頁條按鈕屬性
分頁工具條上通常有首頁(FirstPageButton)、上頁(PrevPageButton)、下頁(NextPageButton)、末頁(LastPageButton)按鈕。一般會對按鈕的文本進行本地化。
例:
this.ASPxGridView1.SettingsPager.FirstPageButton.Text = "首頁";
this.ASPxGridView1.SettingsPager.FirstPageButton.Visible = true;
this.ASPxGridView1.SettingsPager.PrevPageButton.Text = "上一頁";
this.ASPxGridView1.SettingsPager.NextPageButton.Text = "下一頁";
this.ASPxGridView1.SettingsPager.LastPageButton.Text = "末頁";
this.ASPxGridView1.SettingsPager.LastPageButton.Visible = true;
3.與分頁相關操做
(1)跳頁: this.ASPxGridView1.PageIndex=<指定頁號>
(2)取總頁數:this.ASPxGridView1.PageCount
(3)頁次改變事件PageIndexChanged
若是AspxGridView是動態綁定數據源,必須在翻頁事件(PageIndexChanged)中從新綁定數據,不然翻頁後無數據。
voidASPxGridView1_PageIndexChanged(objectsender, EventArgs e)
十4、 客戶端排序
1.使用SortBy方法排序
語法1:voidSortBy(ASPxClientGridViewColumn column);
語法2:voidSortBy(intcolumnIndex);
語法3:voidSortBy(stringcolumnFieldNameOrId);
語法4:voidSortBy(stringcolumnFieldNameOrId, stringsortOrder);
語法5:voidSortBy(ASPxClientGridViewColumn column,stringsortOrder);
語法6:voidSortBy(intcolumnIndex, stringsortOrder);
語法7:voidSortBy(intcolumnIndex, stringsortOrder,boolreset);
語法8:voidSortBy(ASPxClientGridViewColumn column,stringsortOrder, boolreset);
語法9:voidSortBy(stringcolumnFieldNameOrId, stringsortOrder, boolreset);
語法10:voidSortBy(ASPxClientGridViewColumn column,stringsortOrder, boolreset, intsortIndex);
語法11:voidSortBy(intcolumnIndex, stringsortOrder,boolreset, intsortIndex);
語法12:voidSortBy(stringcolumnFieldNameOrId, stringsortOrder, boolreset, intsortIndex);
其中參數:
sortOrder:可取Ascending、Descending。
Reset:是否清除之前的排序規則。
(2)點擊欄位題頭排序。
按住Shift鍵能夠指定多個欄位排序。
十5、 服務器端排序
1.排序設置
必須設置AspxGridView容許排序纔可執行真正的排序(SettingsBehavior.AllowSort=true),該選項默認爲true
2.使用SortBy方法排序
語法1.intSortBy(GridViewColumn column,intvalue)
語法2.ColumnSortOrder SortBy(GridViewColumn column,ColumnSortOrder value)
調用SortBy方法不會自動清除之前的排序欄位,若是不清除以前的排序欄位,則當前欄位會追加到排序欄位列表中。
能夠經過如下方法清除之前的排序欄位。
(1) 調用ClearSort方法來清除之前的排序欄位
(2) 遍歷欄位的SortIndex屬性來肯定是否參與過排序及排序的次序(SortIndex=-1表示不排序,另外欄位的SortOrder可獲取或設置排序方式)。GridViewColumn. SortIndex=-1。
(3) 調用GridViewColumn.UnSort()方法
例:
protectedvoidbtnServerSort_Click(objectsender, EventArgs e)
{           
    stringsortColumn = this.ddlSortColumn.SelectedValue;
    stringsortType = this.ddlSortType.SelectedValue;
    GridViewDataColumn sortDataColumn;
    DevExpress.Data.ColumnSortOrder sortOrder;
 
    this.ASPxGridView1.SettingsBehavior.AllowSort = true;
    if(sortType == "Desc")
    {
        sortOrder = DevExpress.Data.ColumnSortOrder.Descending;
    }
    else
    {
        sortOrder = DevExpress.Data.ColumnSortOrder.Ascending;
    }
    if(sortColumn != null)
    {
        this.ASPxGridView1.ClearSort();//清除之前的排序欄位
        sortDataColumn = this.ASPxGridView1.Columns[sortColumn] asGridViewDataColumn;
        this.ASPxGridView1.SortBy(sortDataColumn, sortOrder);//執行排序
    }
}
3.直接操做GridViewDataColumn排序
調用GridViewDataColumn.SortAscending()方法正向排序
調用GridViewDataColumn.SortDescending()方法逆向排序
4.使用GetSortedColumns方法取排序欄位
語法:System.Collections.ObjectModel.ReadOnlyCollection<GridViewDataColumn> GetSortedColumns()
例:
System.Collections.ObjectModel.ReadOnlyCollection<GridViewDataColumn> sortedColumnList = this.ASPxGridView1.GetSortedColumns();
StringBuilder msg = newStringBuilder();
for(inti = 0; i < sortedColumnList.Count; i++)
{
    msg.Append(sortedColumnList[i].FieldName);
}
stringjs = "alert('"+ msg.ToString()+"')";
ScriptManager.RegisterClientScriptBlock(this, this.GetType(), "GetSortedColumns", js, true);//在客戶端執行腳本
 
十6、 服務器端數據分組
1.數據分組的前提條件
必須設置ASPxGridViewBehaviorSettings.AllowGroup=true和ASPxGridViewBehaviorSettings.AllowSort=true
2.使用GroupBy方法實現數據分組
語法1:intGroupBy(GridViewColumn column);
語法2:intGroupBy(GridViewColumn column, intvalue);
其中參數value表示分組的層次,-1表示取消該欄位的分組。
調用GroupBy方法不會自動清除之前的分組規則,能夠調用ClearSort方法或UnGroup方法清除。
例:用一個欄位分組
this.ASPxGridView1.ClearSort();//清空分組
stringcolumnName = 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展開全部分組。
語法:voidExpandAll();
(2)使用ExpandRow展開指定分組行。
語法1:voidExpandRow(intvisibleIndex);
語法2:voidExpandRow(intvisibleIndex, boolrecursive);
參數recursive:是否遞歸。
(3)使用CollapseAll摺疊全部分組。
語法:voidCollapseAll();
(4)使用CollapseRow摺疊指定分組行。
語法1:voidCollapseRow(intvisibleIndex);
語法2:voidCollapseRow(intvisibleIndex, boolrecursive);
4.判斷分組行是否展開
使用IsRowExpanded方法。
語法:boolIsRowExpanded(intvisibleIndex);
5.數據分組的相關設置
(1)Setting.GroupFormat用來設置分組行的數據格式(可讀寫)。
默認是:{0}:{1}{2}。其中{0}表示分組欄位的標籤(Caption屬性),{1}表示分組欄位值,{2}表示彙總文本。{1}與{2}中間會自動顯示括號。只有在<GroupSummary>標籤中定義了彙總方式纔會在顯示其彙總文本。
例:
<GroupSummary>
    <dxwgv:ASPxSummaryItem FieldName="OCCDatetime"SummaryType="Count"/>           
</GroupSummary>
(2) Setting. ShowGroupedColumns用來顯示已分組的欄位。默認爲true
(3) Setting. ShowGroupedButtons用來顯示分組展開按鈕(+)。默認爲true
(4) Setting. ShowGroupFooter用來設置分組頁腳顯示模式(GridViewGroupFooterMode枚舉型)。默認爲Hidden。可取值:Hidden、VisibleAlways、VisibleIfExpanded。
(5)分組數據間隔。GroupInterval屬性。
例:<Settings GroupInterval="DateYear"/>
GroupInterval可賦以下值:Alphabetical、Date、DateMonth、DateRange、DateYear、Default、DisplayText、Value。
6.按分組值排序
this.ASPxGridView1.GroupSummarySortInfo.Clear();
this.ASPxGridView1.GroupSummarySortInfo.AddRange(newASPxGroupSummarySortInfo("OCCDatetime", this.ASPxGridView1.GroupSummary["OCCDatetime"], ColumnSortOrder.Ascending));
 
十7、 客戶端數據分組
1.使用GroupBy方法實現數據分組
語法1:voidGroupBy(intcolumnIndex);
語法2:voidGroupBy(ASPxClientGridViewColumn column);
語法3:voidGroupBy(stringcolumnFieldNameOrId);
語法4:voidGroupBy(stringcolumnFieldNameOrId, intgroupIndex);
語法5:voidGroupBy(intcolumnIndex, intgroupIndex);
語法6:voidGroupBy(ASPxClientGridViewColumn column, intgroupIndex);
語法7:voidGroupBy(intcolumnIndex, intgroupIndex,stringsortOrder);
語法8:voidGroupBy(ASPxClientGridViewColumn column, intgroupIndex, stringsortOrder);
語法9:voidGroupBy(stringcolumnFieldNameOrId, intgroupIndex, stringsortOrder);
2.分組的展開與摺疊
(1)使用ExpandAll展開全部分組。
語法: voidExpandAll();
(2)使用ExpandRow展開指定分組行。
語法1:voidExpandRow(intvisibleIndex);
語法2:voidExpandRow(intvisibleIndex, boolrecursive);
參數recursive:是否遞歸。
(3)使用CollapseAll摺疊全部分組。
語法:voidCollapseAll();
(4)使用CollapseRow摺疊指定分組行。
語法1:voidCollapseRow(intvisibleIndex);
語法2:voidCollapseRow(intvisibleIndex, boolrecursive);
3.判斷分組行是否展開
使用IsGroupRowExpanded方法。
語法:boolIsGroupRowExpanded(intvisibleIndex);
4.判斷是分組行仍是數據行
(1)判斷是否分組行
function IsGroupRow(visibleIndex : int) : bool;
(2)判斷是否數據行
function IsDataRow(visibleIndex : int) : bool;
5.用戶拖動欄位到分組帶實現分組
首先須要顯示分組帶:<Settings ShowGroupPanel="True"/>
使用鼠標將欄位拖動到分組帶便可實現即時分組。將分組欄位拖回題頭則取消分組。
 
十8、 數據導出
1.內置數據導出的前提條件
使用DevExpress.Web.ASPxGridView.Export.ASPxGridViewExporter實現數據導出。注意必定要將該控件放在頁面上纔可。
應引入如下dll文件:
DevExpress.Utils.v9.1.dll
DevExpress.Web.ASPxGridView.v9.1.Export.dll
DevExpress.XtraPrinting.v9.1.dll
Asp.Net頁面註冊代碼:
<%@ Register Assembly="DevExpress.Web.ASPxGridView.v9.1.Export, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.Web.ASPxGridView.Export"TagPrefix="dxwgve"%>
<%@ Register Assembly="DevExpress.XtraPrinting.v9.1, Version=9.1.3.0, Culture=neutral, PublicKeyToken=b88d1754d700e49a"
    Namespace="DevExpress.XtraPrinting"TagPrefix="dxwgve"%>
Asp.net頁面控件聲明:
<dxwgve:ASPxGridViewExporter ID="ASPxGridViewExporter1"runat="server">
</dxwgve:ASPxGridViewExporter>
2.支持的數據導出類型
ASPxGridViewExporter支持導出到Csv、Pdf、Rtf、Excel文件,所對應的方法分別爲:WriteCsv(WriteCsvResponse)、WritePdf(WritePdfResponse)、WriteRtf(WriteRtfResponse)、WriteXls(WriteXlsResponse)。
在數據導出時經過給ASPxGridViewExporter的GridViewID指定一個AspxGridView控件ID。
例:將全部記錄導出到Excel文件
ASPxGridViewExporter1.GridViewID = "ASPxGridView1";
ASPxGridViewExporter1.WriteXlsToResponse("Sys_Log.xls");//導出到Excel
例:將所選記錄導出到Pdf文件
ASPxGridViewExporter1.GridViewID = "ASPxGridView1";
ASPxGridViewExporter1. ExportedRowType = GridViewExportedRowType.Selected;
ASPxGridViewExporter1.WritePdfToResponse("Sys_Log.pdf");//導出到pdf
3. ASPxGridViewExporter重要屬性
屬性名 數據類型    英文說明    中文說明
FileName    String  Gets or sets the file name to which the grid's data isexported.    導出文件名稱。可讀寫。
GridView    AspxGridView    Gets the ASPxGridView control to which the ASPxGridViewExporter is
assigned.   AspxGridView控件實例。只讀。
GridViewID  String  Gets or sets the programmatic identifier of the associated ASPxGridView control.    須要導出數據的AspxGridView控件ID。可讀寫。
ExportedRowType GridViewExportedRowType(枚舉) Gets or sets which rows should be exported. 導出行範圍。可讀寫。取值範圍:All,全部行;Selected,選中行。
4.主從ASPxGridView數據導出
在導出有主從關係的AspxGridView時可設置導出模式(SettingsDetail.ExportMode),取值範圍:None(不導出子AspxGridView數據)、Expanded(已展開的子AspxGridView數據)、All(全部子AspxGridView數據)。在導出的文件中主數據下包含了子數據。
例:
//子AspxGridView導出模式
this.MasterGrid.SettingsDetail.ExportMode = (GridViewDetailExportMode)Enum.Parse(typeof(GridViewDetailExportMode), this.ddlExportMode.Text);
ASPxGridViewExporter1.GridViewID = "MasterGrid";
ASPxGridViewExporter1.WriteXlsToResponse("Task.xls");//導出到Excel
5.導出到Pdf時中文亂碼問題的解決
能夠經過更改ASPxGridViewExporter的Styles.Default.Font.Name來處理中文亂碼問題。有中文符號的字體能夠正確顯示中文。
 
十9、 報表打印
二10、 懶加載
二11、    客戶端欄位取值與賦值
1.使用GetPageRowValues取當前頁指定欄位值
語法;function GetPageRowValues(fieldNames : String,onCallback : ASPxClientGridViewValuesCallback);
例:
function GetPageRowValues() {
    varfieldNames = document.getElementById("txtFieldName_GetPageRowValues").value;
    grid.GetPageRowValues(fieldNames, GetPageRowValues_Callback);
}
function GetPageRowValues_Callback(result) {
    varmsg = "";
    if(result.length > 0) {
        for(vari = 0; i < result.length; i++) {
            msg = msg + result[i].toString() + ",";
        }
        msg = msg.substring(0, msg.length - 1);
    }
    alert(msg);
}
2.使用GetRowValues取指定行指定欄位值
語法:function GetRowValues(visibleIndex : int,fieldNames : String,
onCallback : ASPxClientGridViewValuesCallback);
3.使用GetSelectedFieldValues取選中行指定欄位值
語法:function GetSelectedFieldValues(fieldNames : String,onCallback : ASPxClientGridViewValuesCallback);
4.取欄位實例
(1)使用GetColumn方法
語法:function GetColumn(columnIndex : int) : ASPxClientGridViewColumn;
(2)使用GetColumnByField方法
語法:function GetColumnByField(columnFieldName : String) : ASPxClientGridViewColumn;
(3)使用GetColumnById方法
語法:function GetColumnById(columnId : String) : ASPxClientGridViewColumn;
5.使用GetColumnsCount取欄位總數
語法:function GetColumnsCount() : int;
6.使用MoveColumn隱藏和移動欄位
(1)隱藏列
語法1:voidMoveColumn(ASPxClientGridViewColumn column);
語法2:voidMoveColumn(intcolumnIndex);
語法3:voidMoveColumn(stringcolumnFieldNameOrId);
(2)移動列
語法4:voidMoveColumn(ASPxClientGridViewColumn column, intmoveToColumnVisibleIndex);
語法5:voidMoveColumn(intcolumnIndex, intmoveToColumnVisibleIndex);
語法6:voidMoveColumn(stringcolumnFieldNameOrId,intmoveToColumnVisibleIndex);
語法7:voidMoveColumn(stringcolumnFieldNameOrId,intmoveToColumnVisibleIndex, bool
moveBefore);
語法8:voidMoveColumn(intcolumnIndex, intmoveToColumnVisibleIndex, boolmoveBefore);
語法9:voidMoveColumn(ASPxClientGridViewColumn column, intmoveToColumnVisibleIndex, bool
moveBefore);
語法10:voidMoveColumn(stringcolumnFieldNameOrId,intmoveToColumnVisibleIndex, bool
moveBefore, boolmoveToGroup);
語法11:voidMoveColumn(intcolumnIndex, intmoveToColumnVisibleIndex, boolmoveBefore,
boolmoveToGroup);
語法12:voidMoveColumn(ASPxClientGridViewColumn column, intmoveToColumnVisibleIndex, bool
moveBefore, boolmoveToGroup);
語法13:voidMoveColumn(ASPxClientGridViewColumn column, intmoveToColumnVisibleIndex, bool
moveBefore, boolmoveToGroup, boolmoveFromGroup);
語法14:voidMoveColumn(stringcolumnFieldNameOrId,intmoveToColumnVisibleIndex, bool
moveBefore, boolmoveToGroup, boolmoveFromGroup);
語法15:voidMoveColumn(intcolumnIndex, intmoveToColumnVisibleIndex, boolmoveBefore,
boolmoveToGroup, boolmoveFromGroup);
7. 使用GetRowKey取行主鍵值
語法:stringfunction GetRowKey(visibleIndex : int)
二12、    服務器端欄位取值與賦值
1.取行值
(1) 使用GetDataRow方法取指定行數據
語法:DataRow GetDataRow(intvisibleIndex)
visibleIndex:行號。能夠是不在當前頁上的行。只有經過DataSourceID綁定數據纔可獲取到數據,若是經過DataSource綁定數據是獲取不到值的。
例:
stringsrowIndex = this.txtGetDataRowIndex.Text;
introwIndex;
if(Int32.TryParse(srowIndex,outrowIndex))
{
    DataRow dr = this.ASPxGridView1.GetDataRow(rowIndex);//取指定行數據
    if(dr != null)
    {
        stringmsg = "LogID="+ dr["LogID"].ToString() + ";Event="+ dr["Event"].ToString();
        Response.Write(msg);       
    }
}
(2) 使用GetRow方法取指定行數據
語法:objectGetRow(intvisibleIndex)
visibleIndex:行號。能夠是不在當前頁上的行。
該函數返回的是object類型,實際類型一般是DataRowView。
2.取列值
(1) 使用GetRowValues方法獲取指定欄位值
語法:objectGetRowValues(intvisibleIndex,parms stringfieldnames[])
若是fieldNames只指定一個欄位,GetRowValues將返回object類型,程序員應轉換爲正確的數據類型。若是fieldNames指定了多個欄位,GetRowValues將返回object[]類型,能夠經過is判斷返回值。
例:
stringsrowIndex = this.txtGetDataRowIndex.Text;
introwIndex;
string[] fieldName;
stringtempFieldName;
objecttempColumnValues;
object[] columnValues;
StringBuilder msg = newStringBuilder();
intcount=0;
 
tempFieldName = this.txtGetValueColumnNames.Text;
fieldName = tempFieldName.Split(',');//分解字符串到數組
if(Int32.TryParse(srowIndex, outrowIndex))
{
    tempColumnValues = this.ASPxGridView1.GetRowValues(rowIndex, fieldName);//取值
    if(tempColumnValues isSystem.Object[])//返回數組
    {
        columnValues = (System.Object[])tempColumnValues;
        count = Math.Min(fieldName.Length, columnValues.Length);
        for(inti = 0; i < count; i++)
        {
            msg.Append(fieldName[i] + "="+ columnValues[i].ToString());
        }
    }
    else//返回單個值
    {
        msg.Append(tempFieldName);
        msg.Append("=");
        msg.Append(tempColumnValues.ToString());
    }
    Response.Write(msg.ToString());
}
(2) 使用GetRowValuesByKeyValue方法獲取指定欄位值
語法:objectGetRowValuesByKeyValue(objectkeyValue,parms stringfieldnames[])
GetRowValuesByKeyValue方法與GetRowValues方法相似,只是前者一般主鍵值找到對應行再獲取欄位值而已。
(3) 使用GetSelectedFieldValues方法獲取選中行指定欄位值
語法:List<object>GetSelectedFieldValues(parms stringfieldnames[])
若是fieldNames只指定一個欄位,GetSelectedFieldValues將返回object列表(各欄位值數組),程序員應轉換爲正確的數據類型。若是fieldNames指定了多個欄位,GetSelectedFieldValues將返回object[]列表(逐行指定欄位值數組),能夠經過is判斷返回值。
例:
stringtempFieldName = this.txtGetValueColumnNames.Text;
string[] fieldName = tempFieldName.Split(',');//分解字符串到數組
StringBuilder msg = newStringBuilder();
 
List<object> tempFieldValues = this.ASPxGridView1.GetSelectedFieldValues(fieldName);//取選中行欄位值
//GetSelectedFieldValues返回值先行後列(相似二維數組)
//行列值行列值行列M值
//行N列值行N列值行N列M值
for(inti = 0; i < tempFieldValues.Count; i++)
{
    if(tempFieldValues[i] isSystem.Object[])//返回數組
    {
        object[] fieldValues = (object[])tempFieldValues[i];
        for(intj = 0; j < fieldValues.Length; j++)
        {
            msg.Append(fieldValues[j].ToString());
        }
    }
    else
    {
        msg.Append(tempFieldValues[i].ToString());
    }
}
Response.Write(msg.ToString());
(4)使用GetCurrentPageRowValues方法獲取當前頁指定欄位值
語法:List<object>GetCurrentPageRowValues (parms stringfieldnames[])
用法相似GetSelectedFieldValues。
二十3、    欄位編輯風格
1.AspxGridView欄位類型
GridViewCommandColumn:命令按鈕列
GridViewDataColumn:基本數據列
GridViewDataBinaryImageColumn:二進制圖像列
GridViewDataButtonEditColumn:編輯按鈕列
GridViewDataCheckColumn: 複選框列
GridViewDataComboBoxColumn:組合框列
GridViewDataDateColumn:日期列
GridViewDataHyperLinkColumn:超連接列
GridViewDataImageColumn:圖像列
GridViewDataMemoColumn:大文本列
GridViewDataProgressBarColumn:進度條列
GridViewDataSpinEditColumn:微調掩碼列
GridViewDataTextColumn:文本列
其中GridViewCommandColumn與GridViewDataColumn時同級的,都繼承自GridViewColumn.
GridViewDataTextColumn類繼承自GridViewEditDataColumn,GridViewEditDataColumn繼承自GridViewDataColumn,其它數據列直接繼承自GridViewDataColumn。
GridViewColumn是一個抽象類,不能將欄位直接聲明爲GridViewColumn類。
2.GridViewColumn服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
Caption String  Gets or sets the text displayed within the column header.   欄位題頭文本。可讀寫。
CellStyle   GridViewCellStyle   Gets the style settings used to paint column cells. 欄位樣式。只讀。
Collection  DevExpress.Web.ASPxClasses. Collection  Gets the collection to which an item belongs.   欄位所屬集合。只讀。
FixedStyle  GridViewColumnFixedStyle(枚舉)        欄位凍結時的樣式。可讀寫。取值範圍:Left,固定;None:不固定。
FooterCellStyle GridViewFooterStyle Gets the style settings used to paint footer cells within a column. 頁腳欄位樣式。只讀。
FooterTemplate  ITemplate   Gets or sets a template fordisplaying the column's footer cell.    欄位頁腳所在單元格模板。可讀寫。
Grid    ASPxGridView    Gets the Grid View that owns the current column.    欄位所屬AspxGridView。只讀。
GroupFooterCellStyle    GridViewGroupFooterStyle    Gets the style settings used to paint groupfooter cells within a column.   頁腳欄位分組帶樣式。只讀。
HeaderCaptionTemplate   ITemplate   Gets or sets a template fordisplaying the column header's caption. 欄位題頭模板。可讀寫。
Index   Int Gets or sets the item's index within the collection.    欄位序號。可讀寫。
Name    String  Gets or sets the column's programmatic identifier.  欄位名稱。可讀寫。
ShowInCustomizationForm Bool    Gets or sets whether the column's header isdisplayed within the
Customization Window when the column ishidden. 欄位題頭(欄位隱藏時)是否顯示在自定義窗口中。可讀寫。
ToolTip String  Gets or sets the column header's tooltip text.  微幫助。可讀寫。
Visible Bool    Gets or sets a value that specifies whether the column isvisible.  是否顯示。可讀寫。
VisibleIndex    Int Gets or sets the column's position among the visible columns within a web control.  顯示順序。可讀寫。
Width   Unit    Gets or sets the column's width.    寬度。可讀寫。
3.GridViewColumn服務器端方法
方法名 語法  英文說明    中文說明
Assign  Void Assign(DevExpress.Web.ASPxClasses. CollectionItem source)  Copies the publicproperties fromthe specified objectto the current one.  從指定對象中複製公共屬性到當前欄位。
IsClickable boolIsClickable()  Indicates whether the column responds to mouse clicks.  判斷欄位是否能夠響應鼠標單擊事件。當欄位有題頭或AspxGridView容許排序(SettingsBehavior.AllowSort)或容許欄位拖動(SettingsBehavior.AllowDragDrop)時返回true,不然返回false.
SetColVisible   voidSetColVisible(boolvalue)      設置欄位是否可見。等同於Visible屬性。
SetColVisibleIndex  Void SetColVisibleIndex(intvalue)      設置欄位顯示順序。等同於VisibleIndex屬性。
AutoFilterBy    Void AutoFilterBy(stringvalue)     根據指定欄位值自動過濾
(1)Assign方法舉例
注意調用Assign方法後當前欄位包括名稱、數據都與複製源一致。若是想使複製後數據等某些屬性與複製源不一樣,應在調用本方法後從新改變。一般用來動態建立欄位。
例:
GridViewDataColumn c = (GridViewDataColumn)(this.ASPxGridView1.Columns["Creator"]);
this.ASPxGridView1.Columns["Creator"].Assign(this.ASPxGridView1.Columns["LogID"]);
c.FieldName = "Creator";
c.Name = "Creator";
c.Caption = "Creator";
4.GridViewCommandColumn:命令按鈕列
(1)欄位聲明示例
<dxwgv:GridViewCommandColumn Caption="選擇"Name="IsSelect"ButtonType="Button"ShowSelectCheckbox="true">
</dxwgv:GridViewCommandColumn>
<dxwgv:GridViewCommandColumn Caption="操做"Visible="true">
    <UpdateButton Text="保存"Visible="true"/>
    <NewButton Text="新增"Visible="true"/>
    <CancelButton Text="取消"Visible="true"/>
    <ClearFilterButton Text="清除"Visible="true"/>
    <SelectButton Text="選擇"Visible="true"/>
</dxwgv:GridViewCommandColumn>
(2)GridViewCommandColumn服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
AllowDragDrop   DefaultBoolean(枚舉)  Gets or sets whether end-users can drag the column's header.    是否容許欄位拖動。可讀寫。取值範圍:True,False,Default
ButtonType  ButtonType(枚舉)  Gets or sets the command button's type. 按鈕類型。可讀寫。取值範圍:Button、Image、Link
CancelButton    GridViewCommandColumnButton Gets the Cancel button's settings.  取消按鈕。只讀。
ClearFilterButton   GridViewCommandColumnButton Gets the Clear button's settings.   清除過濾條件按鈕。只讀。
CustomButtons   GridViewCommandColumnCustomButtonCollection Gets the collection of custom buttons.  自定義按鈕集合。只讀。
DeleteButton    GridViewCommandColumnButton Gets the Delete button's settings.  刪除按鈕。只讀。
EditButton  GridViewCommandColumnButton Gets the Edit button's settings.    編輯按鈕。只讀。
NewButton   GridViewCommandColumnButton Gets the New button's settings. 新增按鈕。只讀。
SelectButton    GridViewCommandColumnButton Gets the Select button's settings.  選擇按鈕。只讀。
ShowSelectCheckbox  Bool    Gets or sets whether the check box used to select/deselect data rows is
shown.  是否顯示選擇框。可讀寫。
UpdateButton    GridViewCommandColumnButton Gets the Update button's settings.  保存按鈕。只讀。
5. GridViewDataColumn:基本數據列
(1)欄位聲明示例
<dxwgv:GridViewDataColumn Caption="LogID"FieldName="LogID"ReadOnly="true">               
</dxwgv:GridViewDataColumn>
(2)GridViewDataColumn服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
DataItemTemplate    ITemplate   Gets or sets a template fordisplaying data cells within the current column.    當前欄位顯示數據的單元格模板。可讀寫。
EditCellStyle   GridViewEditCellStyle   Gets the style settings used to paint the column's cells within the Edit Form.  欄位編輯時樣式。只讀。
EditFormCaptionStyle    GridViewEditFormCaptionStyle    Gets the style settings used to paint the caption of the edit cell that
corresponds to the current column.  欄位編輯時題頭樣式。只讀。
EditFormSettings    GridColumnEditFormSettings  Gets the settings of the edit cell which isdisplayed within the Edit Form and
corresponds to the current data column. 在編輯窗口中欄位的設置
EditItemTemplate    ITemplate   Gets or sets a template fordisplaying edit cells which correspond to the
current column. 當前欄位編輯數據的單元格模板。可讀寫。
FieldName   String  Gets or sets the name of the database field assigned to the current column. 數據庫列名。可讀寫。
FilterCellStyle GridViewFilterCellStyle Gets the style settings used to paint a cell within the Auto Filter Row that
corresponds to the current data column. 欄位在自動過濾工具條上的樣式。只讀。
FilterExpression    String  Gets the column's filter expression.    欄位過濾表達式。只讀。在調用AspxGridView的AutoFilterByColumn()方法自動設置欄位過濾表達式。
GroupIndex  intGets or sets a value that specifies whether the column takes part in
grouping and at which level.    欄位分組層次。可讀寫。
PropertiesEdit  EditPropertiesBase  Gets or sets the column editor's settings.  欄位編輯器設置。可讀寫。
PropertiesEditType  string  Gets or sets the type of the column's editor.   欄位編輯器類型。可讀寫。
ReadOnly    Bool    Gets or sets whether end-users are allowed to edit the column's cell values.    是否只讀。可讀寫。
Settings    GridViewDataColumnSettings  Provides access to the column's options.    提供訪問欄位選項的對象。只讀。
SortIndex   Int Gets or sets the column's position among sorted columns.    欄位排序次序。可讀寫。
SortOrder   ColumnSortOrder(枚舉) Gets or sets the column's sort order.   欄位排序方式。可讀寫。取值範圍:None,Ascending,      Descending
UnboundType UnboundColumnType(枚舉)   Gets or sets the data type and binding mode of the column.  欄位綁定數據類型。可讀寫。取值範圍:Bound,Integer,Decimal, DateTime,        String,Boolean,Object。
(3)GridViewDataColumn服務器端重要方法
方法名 語法  英文說明    中文說明
Assign  Void Assign(DevExpress.Web.ASPxClasses. CollectionItem source)  Copies the publicproperties fromthe specified objectto the current one.  從指定對象中複製公共屬性到當前欄位。
AutoFilterBy    Void AutoFilterBy(stringvalue) Applies a filter to the column. 根據指定欄位值自動過濾
GroupBy voidGroupBy()  Groups data bythe values of the current column.    按當前欄位分組。能夠調用UnGroup方法打散分組。
SortAscending   voidSortAscending()    Sorts the column inascendingorder.    按當前欄位值正序排序
SortDescending  Void SortDescending()   Sorts the column indescendingorder.   按當前欄位值倒序排序
UnGroup voidUnGroup()  Ungroups data bythe values of the current column.  取消當前欄位分組
UnSort  Void UnSort()   Clears the sorting applied to the column.   取消當前欄位排序
 
6.GridViewDataButtonEditColumn:編輯按鈕列
(1) 欄位聲明示例
<dxwgv:GridViewDataButtonEditColumn Caption="備註"FieldName="Remark">
    <PropertiesButtonEdit NullText="空"/>
</dxwgv:GridViewDataButtonEditColumn>
(2) 獨特屬性
GridViewDataButtonEditColumn繼承自GridViewDataColumn,它包括如下獨特屬性:
屬性名 數據類型    英文說明    中文說明
PropertiesButtonEdit    ButtonEditProperties    Gets the column editor's settings.  欄位編輯器屬性
7.GridViewDataCheckColumn: 複選框列
 
8.GridViewDataTextColumn:文本列
(1)GridViewDataTextColumn服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
             
 
 
二十4、    欄位格式化
二十5、    固定列
AspxGridView的固定列是經過設置欄位的FixedStyle=」Left」來實現的。
Asp.net中設置:FixedStyle=」Left」
C#中設置:FixedStyle = GridViewColumnFixedStyle.Left
二十6、    欄位拖動
設置SettingsBehavior.AllowDragDrop=true則容許欄位拖動。
調用客戶端方法MoveColumn可在前臺實現代碼拖動。支持用戶使用鼠標拖動欄位。
二十7、    欄位合計
AspxGridView的彙總數據是顯示在Footer帶上的,必須設置Settings.ShowFooter=true。直接顯示在欄位下方。
能夠將彙總信息定義在<TotalSummary>標籤中。
例:
<TotalSummary>
    <dxwgv:ASPxSummaryItem FieldName="Event"SummaryType="Count"/>
    <dxwgv:ASPxSummaryItem FieldName="OCCDatetime"SummaryType="Min"/>
    <dxwgv:ASPxSummaryItem FieldName="OCCDatetime"SummaryType="Max"/>
</TotalSummary>
AspxGridView內置的聚合函數包括:Sum、Min、Max、Count、Average、Custom、None。
二十8、    欄位初始值
AspxGridView要設置欄位新增時初始值須要擴充其InitNewRow事件。代碼的主要功能是給e.NewValues[欄位名稱]賦值。
事件原型:
protectedvoid  ASPxGridView1_InitNewRow(objectsender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e)
DevExpress.Web.Data.ASPxDataInitNewRowEventArgs屬性:
NewValues:System.Collections.Specialized.OrderedDictionary類型
例:
//設置欄位初始值
protectedvoid  ASPxGridView1_InitNewRow(objectsender, DevExpress.Web.Data.ASPxDataInitNewRowEventArgs e)
{
    e.NewValues["CreateDate"] = DateTime.Now;   
}
二十9、    欄位可編輯性
三10、 欄位數據校驗
1.行數據校驗(編輯狀態)
調用DoRowValidation()能夠進行行數據校驗。它其實是觸發RowValidating事件編寫代碼實現數據校驗的。DoRowValidation方法對瀏覽狀態的行無效,能夠經過獲取AspxGridView的IsEditing屬性判斷是否進入編輯狀態。
RowValidating事件原型:
voidASPxGridView1_RowValidating(objectsender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
DevExpress.Web.Data.ASPxDataValidationEventArgs構造函數:
publicASPxDataValidationEventArgs(boolisNew);
DevExpress.Web.Data.ASPxDataValidationEventArgs屬性:
Errors: Dictionary<GridViewColumn, string>,行錯誤集合,只讀。
HasErrors:bool,待處理的行是否有錯。只讀。
IsNewRow:bool,待處理的行是否新增行。只讀。
Keys:OrderedDictionary,要刪除行的主鍵欄位值。只讀。
NewValues: OrderedDictionary,要刪除行的非主鍵(其實是全部欄位)欄位新值。只讀。
OldValues: OrderedDictionary,要刪除行的非主鍵(其實是全部欄位)欄位原值。只讀。
RowError:string,行錯誤信息。可讀寫。
一般在RowValidating事件中檢查欄位值是否有效,若是無效,應拋出異常。
例:
//行數據檢驗事件
protectedvoidASPxGridView1_RowValidating(objectsender, DevExpress.Web.Data.ASPxDataValidationEventArgs e)
{
     
    //是否新增行
    if(e.IsNewRow)
    {
        if(e.NewValues["Event"] == null)
        {                   
            e.Errors.Add(this.ASPxGridView1.Columns["Event"], "事件名稱不可爲空");
            e.RowError = "事件名稱不可爲空";
            thrownewException("事件名稱不可爲空");
 
        }
    }
}
一般在HtmlRowPrepared事件中檢查行是否有效並以不一樣的顏色來顯示未經過校驗的行。
一般在StartRowEditing事件中調用DoRowValidation方法觸發數據校驗。
如下是官方的示例代碼:
usingDevExpress.Web.ASPxGridView;
usingSystem.Collections.Generic;
 
protectedvoidgrid_RowValidating(objectsender,
DevExpress.Web.Data.ASPxDataValidationEventArgs e) {
    // Checks for null values.
    foreach(GridViewColumn column ingrid.Columns) {
        GridViewDataColumn dataColumn = column asGridViewDataColumn;
        if(dataColumn == null) continue;
        if(e.NewValues[dataColumn.FieldName] == null)
            e.Errors[dataColumn] = "Value cannot be null.";
    }
    // Displays the error row if there is at least one error.
    if(e.Errors.Count > 0) e.RowError = "Please, fill all fields.";
     
    if(e.NewValues["ContactName"] != null&&
        e.NewValues["ContactName"].ToString().Length < 2) {
        AddError(e.Errors, grid.Columns["ContactName"],
        "Contact Name must be at least two characters long.");
    }
    if(e.NewValues["CompanyName"] != null&&
    e.NewValues["CompanyName"].ToString().Length < 2) {
        AddError(e.Errors, grid.Columns["CompanyName"],
        "Company Name must be at least two characters long.");
    }
    if(string.IsNullOrEmpty(e.RowError) && e.Errors.Count > 0)
    e.RowError = "Please, correct all errors.";
}
 
voidAddError(Dictionary<GridViewColumn, string> errors,
GridViewColumn column, stringerrorText) {
     if(errors.ContainsKey(column)) return;
     errors[column] = errorText;
 }
 
protectedvoidgrid_HtmlRowPrepared(objectsender,
ASPxGridViewTableRowEventArgs e) {
    // Checks whether the generated row has the errors.
    boolhasError = e.GetValue("ContactName").ToString().Length <= 1;
    hasError = hasError || e.GetValue("CompanyName").ToString().Length <= 1;
    hasError = hasError || e.GetValue("Country") == null;
    // If the row has the error(s), its text color is set to red.
    if(hasError)
        e.Row.ForeColor = System.Drawing.Color.Red;
}
 
protectedvoidgrid_StartRowEditing(objectsender,
DevExpress.Web.Data.ASPxStartRowEditingEventArgs e) {
    // Validates the edited row if it isn't a new row,.
    if(!grid.IsNewRowEditing)
        grid.DoRowValidation();
}
 
三11、    客戶端事件
三12、    服務器端事件
1.服務器事件索引
事件名 英文說明    中文說明
AutoFilterCellEditorCreate  Enables you to assign editors to individual filter row cells.  容許程序員爲過濾行欄位指定個性化編輯器
AutoFilterCellEditorInitialize  Enables the cell editors displayed within the auto filter row cells to be
initialized.    容許程序員爲過濾行欄位指定顯示格式
BeforeGetCallbackResult Occurs after a callback, when the ASPxGridView isloaded, but prior to rendering.   發生在ASPxGridView已裝載但未呈現時獲取回調結果。
2.AutoFilterCellEditorCreate
(1)語法:publicdelegatevoidASPxGridViewEditorCreateEventHandler(objectsender,
ASPxGridViewEditorCreateEventArgs e);
ASPxGridViewEditorCreateEventArgs類包括如下屬性:
Column:GridViewDataColumn類型,只讀。欄位實例。
EditorProperties:EditPropertiesBase類型,可讀寫。編輯器屬性。
KeyValue:object類型。只讀。關鍵欄位值。
Value:object類型。可讀寫。過濾欄位值。
VisibleIndex:int類型。只讀。行號。
(2)英文說明:Enables you 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)語法:publicdelegatevoidASPxGridViewEditorEventHandler(objectsender,ASPxGridViewEditorEventArgs e);
ASPxGridViewEditorEventArgs類包括如下屬性:
Column:GridViewDataColumn類型,只讀。欄位實例。
Editor:ASPxEditBase類型,只讀。編輯器實例。
KeyValue:object類型。只讀。關鍵欄位值。
Value:object類型。只讀。過濾欄位值。
VisibleIndex:int類型。只讀。行號。
(2)英文說明:Enables the cell editors displayed within the auto 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)語法:publicdelegatevoidEventHandler(objectsender, EventArgs e);
(2)英文說明:Occurs after a callback, when the ASPxGridView isloaded, but prior to rendering.
(3)觸發條件:調用AspxGridView客戶端方法GetValuesOnCustomCallback。
(4)中文說明:發生在ASPxGridView已裝載但未呈現時獲取回調結果。
5.BeforePerformDataSelect
(1)語法:publicdelegatevoidEventHandler(objectsender, EventArgs e);
(2)英文說明:Occurs before the ASPxGridView control obtains data froma data source.
(3)觸發條件:綁定數據時。
(4)中文說明:發生在ASPxGridView從數據源中獲取數據以前。
一般在主從模式下用於給明細AspxGridView的數據檢索參數賦值。
例:
Session["TaskCode"] = (sender asASPxGridView).GetMasterRowKeyValue();
//Session["TaskCode"]爲明細AspxGridView的數據源參數
6.CancelRowEditing
(1)語法:publicdelegatevoidASPxStartRowEditingEventHandler(objectsender,
ASPxStartRowEditingEventArgs e);
ASPxStartRowEditingEventArgs類包括如下屬性:
Cancel:bool類型。可讀寫。
(2)英文說明:Enables you to prevent changes made within a row frombeing discarded.
(3)觸發條件:用戶點擊內置的【取消】按鈕或調用CancelEdit()方法時。
(4)中文說明:取消行編輯狀態前事件。
能夠在該事件中阻止用戶將編輯狀態轉換爲瀏覽狀態。(設置e.Cancel=true)例如彈出對話框提醒用戶是否確實須要取消編輯狀態或清除在編輯過程當中緩存的數據。
7. CellEditorInitialize
(1)語法:publicdelegatevoidASPxGridViewEditorEventHandler(objectsender,
ASPxGridViewEditorEventArgs e);
ASPxGridViewEditorEventArgs類包括如下屬性:
Column:GridViewDataColumn類型,只讀。欄位實例。
Editor:ASPxEditBase類型,只讀。編輯器實例。
KeyValue:object類型。只讀。主鍵欄位值。
Value:object類型。只讀。過濾欄位值。
VisibleIndex:int類型。只讀。行號。
(2)英文說明:Enables the cell editors displayed within the edit cells to be initialized.
(3)觸發條件:發生在行數據狀態由瀏覽狀態改成編輯狀態時。
(4)中文說明:欄位編輯器初始化事件。
7. ClientLayout
(1)語法:publicdelegatevoidASPxClientLayoutHandler(objectsender,
ASPxClientLayoutArgs e);
ASPxClientLayoutArgs類包括如下屬性:
LayoutData:string類型,可讀寫。佈局數據。
LayoutMode: ClientLayoutMode類型(枚舉)。只讀。佈局模式。取值範圍:Loading、Saving.
 (2)英文說明:Enables you to save and restore the previously saved layout of the ASPxGridView.
(3)觸發條件:在調用SaveLayout()保存佈局或LoadLayout()裝載佈局時觸發該事件。
(4)中文說明:容許你保存佈局或裝載以前的佈局。
8. CustomButtonCallback
(1)語法:publicdelegatevoidASPxGridViewCustomButtonCallbackEventHandler( 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>
一般在該事件中捕獲按鈕名稱調用對應方法做出實際的迴應。
例:
stringid = e.ButtonID;
switch(id)
{
    case"btnSelect":
        this.ASPxGridView1.Selection.SelectRow(e.VisibleIndex);
        break;
    default:
        break;
}
9. CustomCallback
(1)語法:publicdelegatevoidASPxGridViewCustomCallbackEventHandler(objectsender, ASPxGridViewCustomCallbackEventArgs e);
ASPxGridViewCustomCallbackEventArgs類包括如下屬性:
Parameters:string類型,只讀。全部自定義參數值。
(2)英文說明:Fires when a round trip to the server has been initiated bya call to the client ASPxClientGridView.PerformCallback method.
(3)觸發條件:調用客戶端PerformCallback方法時觸發。
(4)中文說明:該事件不能只在頁面IsPostBack=false的狀況下聲明,不然沒法觸發。事件參數ASPxGridViewCustomCallbackEventArgs. Parameters由程序員負責解釋。
例:
//自定義回調事件
protectedvoidASPxGridView1_CustomCallback(objectsender, 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], outvisibleIndex))
                        {
                            this.ASPxGridView1.StartEdit(visibleIndex);
                        }
                    }
                    break;
                default:
                    break;
            }
        }             
    }
}
前臺代碼示例:
Grid.PerformCallback('AddNewRow')
Grid.PerformCallback('StartEdit|2')
10. CustomColumnDisplayText
(1)語法:publicdelegatevoidASPxGridViewColumnDisplayTextEventHandler(objectsender, ASPxGridViewColumnDisplayTextEventArgs e);
ASPxGridViewColumnDisplayTextEventArgs類包括如下屬性:
Column:GridViewDataColumn類型,只讀。欄位實例。
DisplayText:string類型。可讀寫。顯示文本。
Value:object類型。可讀寫。欄位值。
VisibleRowIndex:int類型。只讀。行號。
ASPxGridViewColumnDisplayTextEventArgs類包括如下方法:
objectGetFieldValue(stringfieldName):獲取欄位值。
objectGetFieldValue(intvisibleRowIndex, stringfieldName) :獲取欄位值。
(2)英文說明:Enables custom display text to be provided forany cell.
(3)觸發條件:發生在欄位綁定或取消綁定時。
(4)中文說明:容許你自定義每一個單元格的顯示文本。好比在數據導出時將欄位值爲0改成空值。
11. CustomColumnGroup
(1)語法:publicdelegatevoidASPxGridViewCustomColumnSortEventHandler(objectsender, 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(stringfieldName):獲取來源行1的值。
objectGetRow2Value(stringfieldName):獲取來源行2的值。
(2)英文說明:Provides the ability to groupdata usingcustom 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;
    }
}
12. CustomColumnSort
(1)語法:publicdelegatevoidASPxGridViewCustomColumnSortEventHandler(objectsender, 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(stringfieldName):獲取來源行1的值。
objectGetRow2Value(stringfieldName):獲取來源行2的值。
(2)英文說明:Enables you to sort data usingcustom 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;
        }
        elseif(e.Value1.ToString().Length == e.Value2.ToString().Length)
        {
            e.Result = 0;
        }
        elseif(e.Value1.ToString().Length > e.Value2.ToString().Length)
        {
            e.Result = -1;
        }
    }
    elseif(e.SortOrder == DevExpress.Data.ColumnSortOrder.Descending)
    {
        //按欄位長度倒序
        if(e.Value1.ToString().Length < e.Value2.ToString().Length)
        {
            e.Result = -1;
        }
        elseif(e.Value1.ToString().Length == e.Value2.ToString().Length)
        {
            e.Result = 0;
        }
        elseif(e.Value1.ToString().Length > e.Value2.ToString().Length)
        {
            e.Result = 1;
        }
    }
    e.Handled = true;
}
13. CustomDataCallback
(1)語法:publicdelegatevoidASPxGridViewCustomDataCallbackEventHandler(objectsender, ASPxGridViewCustomDataCallbackEventArgs e);
ASPxGridViewCustomDataCallbackEventArgs類包括如下屬性:
Parameters:string類型,只讀。自定義參數。
Result:object類型。可讀寫。自定義處理結果。
(2)英文說明:Fires when a round trip to the server has been initiated bya call to the client ASPxClientGridView.GetValuesOnCustomCallback method.
(3)觸發條件:調用AspxGridView客戶端方法GetValuesOnCustomCallback時觸發本事件。
(4)中文說明: 程序員能夠獲取傳入參數(e.Parameters)做出迴應(設置Result值)。
客戶端調用GetValuesOnCustomCallback方法,後臺CustomDataCallback事件返回結果,而後在GetValuesOnCustomCallback方法中指定的javascrip方法中顯示處理結果。
例:前臺代碼
function GetDate() {
    grid.GetValuesOnCustomCallback("GetDate", GetDateCallback);
}
function GetDateCallback(result) {
    alert(result);
}
例:後臺代碼
if(e.Parameters == "GetDate")
{
    e.Result = DateTime.Now.ToShortDateString();
}
14. CustomErrorText
(1)語法:publicdelegatevoidASPxGridViewCustomErrorTextEventHandler(objectsender, ASPxGridViewCustomErrorTextEventArgs e);
ASPxGridViewCustomErrorTextEventArgs類包括如下屬性:
ErrorText:string類型,可讀寫。錯誤文本。
ErrorTextKind: GridViewErrorTextKind類型(枚舉)。只讀。錯誤來源類型。取值範圍:General、RowValidate。
Exception:Exception類型。只讀。異常。
(2)英文說明:Enables you to provide custom error descriptions.
(3)觸發條件:當AspxGridView發生錯誤時觸發該事件
(4)中文說明:容許你自定義錯誤描述。
你能夠在該事件中本地化錯誤文本。在RowValidating事件中拋出的異常,ErrorTextKind=GridViewErrorTextKind.RowValidate,其它狀況下ErrorTextKind=GridViewErrorTextKind.General。
15. CustomGroupDisplayText
(1)語法:publicdelegatevoidASPxGridViewColumnDisplayTextEventHandler (objectsender, ASPxGridViewColumnDisplayTextEventArgs e);
ASPxGridViewColumnDisplayTextEventArgs類包括如下屬性:
Column:GridViewDataColumn類型,只讀。欄位實例。
DisplayText:string類型。可讀寫。顯示文本。
Value:object類型。可讀寫。欄位值。
VisibleRowIndex:int類型。只讀。行號。
ASPxGridViewColumnDisplayTextEventArgs類包括如下方法:
objectGetFieldValue(stringfieldName):獲取欄位值。
objectGetFieldValue(intvisibleRowIndex, stringfieldName) :獲取欄位值。
(2)英文說明:Enables you to provide custom content forgrouprows.
(3)觸發條件:顯示分組數據時觸發。
(4)中文說明:容許你自定義分組行內容。
16. CustomJSProperties
(1)語法:publicdelegatevoidASPxGridViewClientJSPropertiesEventHandler (objectsender, ASPxGridViewClientJSPropertiesEventArgs e);
ASPxGridViewClientJSPropertiesEventArgs類包括如下屬性:
Properties:Dictionary<string, object>類型,只讀。Js屬性。
(2)英文說明:Enables you to supply any server data that can then be parsed onthe client.
(3)觸發條件:發生在AspxGridView呈現時。
(4)中文說明:容許你自定義客戶端屬性。要求屬性名必須以「cp」做爲前綴。你能夠在此事件中自行解釋JS屬性。
例:C#代碼
//自定義js屬性
protectedvoidASPxGridView1_CustomJSProperties(objectsender, ASPxGridViewClientJSPropertiesEventArgs e)
{
    e.Properties["cpVisibleRowCount"] = this.ASPxGridView1.VisibleRowCount;
}
例:客戶端代碼
alert(grid.cpVisibleRowCount);
17. CustomSummaryCalculate
(1)語法:publicdelegatevoidCustomSummaryEventHandler (objectsender, CustomSummaryEventArgs e);
CustomSummaryEventArgs類包括如下屬性:
FieldValue:object類型,只讀。欄位值。
GroupLevel:int類型,只讀。分組節號。
GroupRowHandle:int類型,只讀。分組行號。
IsGroupSummary:bool類型,只讀。是否組彙總。
 
(2)英文說明:Enables you to calculate summary values manually.
(3)觸發條件:發生在AspxGridView呈現時。
(4)中文說明:容許你自定義客戶端屬性。要求屬性名必須以「cp」做爲前綴。你能夠在此事件中自行解釋JS屬性。
例:C#代碼
//自定義js屬性
protectedvoidASPxGridView1_CustomJSProperties(objectsender, ASPxGridViewClientJSPropertiesEventArgs e)
{
    e.Properties["cpVisibleRowCount"] = this.ASPxGridView1.VisibleRowCount;
}
例:客戶端代碼
alert(grid.cpVisibleRowCount);
 
 
三十3、    快捷鍵
三十4、    樣式
AspxGridView使用<Styles>標籤用於設置樣式。
1.GridViewStyles重要屬性
屬性名 數據類型    英文說明    中文說明
AlternatingRow  GridViewAlternatingRowStyle Gets the style settings used to paint Alternating Data Row. 奇偶行樣式
CommandColumn   GridViewCommandColumnStyle  Gets the style settings used to paint the Command Column's cells.   命令欄位樣式
Header  GridViewHeaderStyle Gets the style settings used to paint column headers.   欄位題頭樣式
2. GridViewAlternatingRowStyle重要屬性
屬性名 數據類型    英文說明    中文說明
Enabled DefaultBoolean(枚舉)  Gets or sets whether the style settings used to paint alternating rows are
enabled.    是否啓用奇偶行樣式。可讀寫。取值範圍:True、False、Default
 
三十5、    AspxGridView服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
DataSource  Object  Gets or sets the objectfromwhich the data-bound control retrieves its list of data items. 數據源。所支持的數據源類型包括:SqlDataSource、ObjectDataSource、XmlDataSource、AccessDataSource、SiteMapDatasource
DataSourceID    String  Gets or sets the ID of the control fromwhich the data-bound control retrieves its list of data items.  數據源ID.
             
 
三十6、    AspxGridView服務器端重要方法
方法名 參數  英文說明    中文說明
Void AddNewRow()    無   Adds a newrecord.  新增行
Void AutoFilterByColumn(GridViewColumn collmn,stringvalue) column:要過濾的欄位
value:要過濾的欄位值(可使用通配符)  Applies a filter to the specified data column.  按指定欄位過濾
Void CancelEdit()   無   Cancels all the changes made and switches the ASPxGridView to browse mode.  取消編輯模式。終端用戶還能夠經過點擊【取消】按鈕來取消編輯模式。
Void ClearSort()    無   Clears sorting applied to the ASPxGridView. 清除排序規則。若是有分組,將打散分組。
Void DeleteRow(intvisibleIndex)    visibleIndex:行號 Deletes the specified row.  刪除指定行。
Void DoRowValidation()  無   Validates the row currently being edited.   行數據校驗。
String SaveClientLayout()   無   Saves the ASPxGridView's layout.    保存佈局。
Void LoadClientLayout(stringlayoutData)    layoutData:佈局數據 Restores the ASPxGridView's layout fromthe specified string.   還原佈局。
三十7、    GridViewColumnCollection服務器端重要屬性
屬性名 數據類型    英文說明    中文說明
Count   Int Gets the GridView columns count.    欄位個數
Grid    AspxGridView    Gets the Grid View that owns the collection.    對應AspxGridView
Item    GridViewColumn  Returns the column with the specified name, field name or caption. GridView欄位
Owner   DevExpress.Web.ASPxClasses.IWebControlObject    Gets or sets the collection's owner.    父容器
三十8、    AspxGridView客戶端重要屬性
屬性名 數據類型    英文說明    中文說明
selectedWithoutPageRowCount Int     不在當前頁的選中行數
activeElement   Variant    
allowFocusedRow Boolean    
allowMultipleCallbacks  Boolean    
allowMultiSelection Boolean    
autoFilterDelay String     
autoPostBack    Boolean    
BeginCallback   Object     
CallbackError   Object     
callbackOnFocusedRowChanged Boolean    
callbackOnSelectionChanged  Boolean    
callBacksEnabled    Boolean    
childrenCache   Object     
clientEnabled   Boolean    
clientVisible   Boolean    
ColumnGrouping  Object     
ColumnMoving    Object     
ColumnResizing  Object     
columns Object     
ColumnSorting   Object     
ColumnStartDragging Object     
confirmDelete   String     
ContextMenu Object     
CustomButtonClick   Object     
CustomizationWindowCloseUp  Object     
custwindowLeft  Variant    
custwindowTop   Variant    
custwindowVisible   Variant    
DetailRowCollapsing Object     
DetailRowExpanding  Object     
dialogContentHashTable  Object     
editorIDList    Object     
enabled Boolean    
EndCallback Object     
filterKeyPressInputValue    String     
filterKeyPressTimerId   Number     
filterPopupActiveColumnIndex    Number     
filterPopupWindow   Variant    
filterRowConditions Object     
filterRowMenuColumnIndex    Number     
fixedColumnCount    Number     
FocusedRowChanged   Object     
focusedRowIndex Number     
funcCallbacks   Object     
indentColumnCount   Number     
Init    Object     
initialFocused  Boolean    
isASPxClientControl Boolean    
isColumnsResizable  Boolean    
isHorizontalScrolling   Boolean    
isInitialized   Boolean    
isMainControlResizable  Boolean    
isNative    Boolean    
isPagerUiCallback   Boolean    
isVerticalScrolling Boolean    
keys    Object     
lastMultiSelectIndex    Number     
leadingAfterInitCall    Boolean    
loadingDivElement   Variant    
loadingPanelElement Variant    
lockFilter  Boolean    
lockVirtualScrolling    Boolean    
mainElement DispHTMLTable      
name    String     
pageRowCount    Number     
pageRowSize Number     
renderIFrameForPopupElements    Boolean    
requestCount    Number     
RowClick    Object     
RowCollapsing   Object     
RowDblClick Object     
RowExpanding    Object     
savedCallbacks  Variant    
savedScrollPosition Number     
scrollToRowIndex    Number     
selectedWithoutPageRowCount Number     
SelectionChanged    Object     
serverEvents    Object     
sizeCorrectedOnce   Boolean    
uniqueID    String     
userChangedSelection    Boolean    
virtualScrollRowHeight  Number     
virtualScrollTimerId    Number     
visibleStartIndex   Number     
 
三十9、    AspxGridView客戶端經常使用方法
方法名及語法  英文說明    中文說明
String GetRowKey(visibleIndex:int)      獲取行主鍵值
ASPxClientGridViewColumn _getColumn(index:int)  Returns the client column that resides at the specified position within the column collection.  根據欄位序號取欄位對象。與GetColumn方法功能相同。
ASPxClientGridViewColumn  _getColumnByField(fieldname:string)   Returns the client column which isbound to the specified data source field.    根據欄位名稱取欄位對象。與GetColumnByField方法功能相同。
ASPxClientGridViewColumn  _getColumnById(id:string) Returns the column with the specified unique identifier.    根據欄位id取欄位對象。與GetColumnById方法功能相同。
1.Int _getColumnIndexByColumnArgs(column:string)
2.int  _getColumnIndexByColumnArgs(column: ASPxClientGridViewColumn)        根據欄位名稱或欄位對象取欄位序號。
1.ASPxClientGridViewColumn  _getColumnObjectByArg(arg:int)
2.ASPxClientGridViewColumn  _getColumnObjectByArg(arg: ASPxClientGridViewColumn)
3.ASPxClientGridViewColumn  _getColumnObjectByArg(arg:string)       取欄位對象。參數能夠是:1.欄位序號;2.欄位對象;3.欄位名稱;4.欄位id
Int _getColumnsCount()      取欄位個數
List<Object> _getEditors()        取全部欄位編輯器列表。返回的是一個object數組。只有當AspxGridView進入編輯狀態時才能獲取到編輯器。一般是Html元素的text、checkbox、button類型。
Int _getFocusedRowIndex()   Returns the focused row's index.    取焦點行號。只有設置AllowFocusedRow="true"才能取到焦點行號。與GetFocusedRowIndex功能相同。
Int _getNumberFromEndOfString(st:string)        從後往前取字符串對應數字。只返回整數,不取小數點前數字字符。該函數有BUG,會出現死循環,不要調用。
Int _getRowIndexOnPage(visibleIndex:int)        取指定行在頁面上處於第幾行。默認等於行號。(從0開始計數)
Int _getSelectedRowCount()  Returns the number of selected rows.    取選中行數。與GetSelectedRowCount功能相同。
Bool _isGroupRow(row:int)   Indicates whether the specified row isa grouprow. 判斷指定行是否分組行。與IsGroupRow方法功能相同。
Bool _isRowSelected(visibleIndex:int)       判斷指定行是否被選中。
Void _selectAllRowsOnPage(checked:bool) Selects all unselected rows displayed onthe current page.  選中或取消選中當前頁中全部行。與SelectAllRowsOnPage方法等效。
Void _selectAllSelBtn(checked:bool)     將全部行中的選擇列置爲選中狀態或取消選擇狀態。不影響行的選中狀態,在翻頁時會丟棄。選擇列可使用如下方式定義:
<dxwgv:GridViewCommandColumn Caption="選擇"Name="IsSelect"ButtonType="Button"ShowSelectCheckbox="true">                </dxwgv:GridViewCommandColumn>
Void _setFocusedRowIndex(visibleIndex:int)  Moves focus to the specified row.   設置指定行爲焦點行。與SetFocusedRowIndex方法功能相同。
Void _updateEdit()  Saves all the changes made and switches the ASPxGridView to browse
mode.   更新數據。與UpdateEdit方法功能相同。
voidAddNewRow()    Adds a newrecord.  新增行
Void ApplyFilter(filterExpression : String) Applies the specified filter expression to the ASPxGridView.    應用過濾表達式。與設置AspxGridView的FilterExpression等效。
1:voidAutoFilterByColumn(column: ASPxClientGridViewColumn, val:string);
2:voidAutoFilterByColumn(columnIndex:int, var:string);
3:voidAutoFilterByColumn(columnFieldNameOrId:string, val:string);  Applies a filter to the specified data column.  按指定欄位值過濾
Void CancelEdit()   Cancels all the changes made and switches the ASPxGridView to browse
mode.   取消編輯
Void ClearFilter()  Clears the filter expression applied to a client ASPxGridView.  清除過濾表達式
Void CollapseAll()  Collapses all grouprows.   收縮全部分組數據行
Void CollapseAllDetailRows()    Collapses all detail rows.  收縮全部明細數據行
Void CollapseDetailRow(visibleIndex : int)  Collapses the specified detail row. 收貨指定明細數據行
1.voidCollapseRow(intvisibleIndex)
2.voidCollapseRow(intvisibleIndex, boolrecursive);   Collapses the specified grouprow and optionally child group
rows at all nesting levels. 收縮指定分組數據行.(容許遞歸)
Void DeleteRow(visibleIndex : int)  Deletes the specified row.  刪除指定行。
Void ExpandAll()    Expands all grouprows. 展開全部分組數據行。
Void ExpandAllDetailRows()  Expands all detail rows.    展開全部明細數據行。
Void ExpandDetailRow(
visibleIndex : int) Expands the specified detail row.   展開指定明細數據行。
1.voidExpandRow(intvisibleIndex)
2.voidExpandRow(intvisibleIndex, boolrecursive); Expands the specified grouprow preserving the collapsed state of any child grouprow.  展開指定分組數據行。能夠遞歸。
1.voidFocusEditor(ASPxClientGridViewColumn
column)
2. voidFocusEditor(intcolumnIndex)
3. voidFocusEditor(stringcolumnFieldNameOrId) Moves focus to the specified edit cell within the edited row.   將光標移動到指定欄位編輯器中。能夠傳遞3種參數。
Bool GetCientVisible()  Returns a value specifying whether a control isdisplayed.  判斷AspxGridView控件是否可見。
ASPxClientGridViewColumn GetColumn(index:int)   Returns the client column that resides at the specified position within the
column collection.  根據欄位序號取欄位對象。
ASPxClientGridViewColumn GetColumnByField(fieldName)    Returns the client column which isbound to the specified data source field.    根據欄位名稱取欄位對象。
ASPxClientGridViewColumn GetColumnById(id)  Returns the column with the specified unique identifier.    根據欄位id取欄位對象。
Int GetColumnIndex(colId:string)        根據欄位id取欄位序號.
ASPxClientGridViewColumn GetColumnObject(colId:string)      根據欄位id取欄位對象。
Int GetColumnsCount()   Returns the number of columns within the client ASPxGridView.   取欄位個數。
1.voidGetEditor(stringcolumnFieldNameOrId);
2.voidGetEditor(ASPxClientGridViewColumn column);
3.voidGetEditor(intcolumnIndex);  Returns the editor used to edit the specified column's values.  取欄位編輯器。參數能夠是欄位名稱、欄位對象、欄位序號。
1.stringGetEditValue(intcolumnIndex);
2.stringGetEditValue(ASPxClientGridViewColumn column);
3.stringGetEditValue(stringcolumnFieldNameOrId);  Returns the value of the specified edit cell.   取欄位編輯器值。參數能夠是欄位名稱、欄位對象、欄位序號。
Object GetDataRow(visibleIndex:index)       取數據行。返回一個<tr>元素。每行數據的html元素id命名規則:id=【ASPxGridViewID】_DXDataRow[rowIndex]能夠經過以下方式訪問欄位數據:
Var dataRow = grid.GetDataRow(0);
Var colValue1 = dataRow.all[0].innerHTML
GetEditFormTable()     
GetEditingErrorRow(obj)    
GetEditingRow(obj)     
GetEditor(column)      
GetEditorByColumnIndex(colIndex)       
GetEditorIndex(editorId)       
GetEditorPrefix()      
GetEditorValue(editor)     
GetEditorValues()      
GetEditValue(column)       
GetExpandedGroupRow(visibleIndex)      
GetFilterControl()     
GetFilterControlPopup()    
GetFilterRowMenu()     
GetFilterWindowContent()       
GetFixedColumnsDiv()       
GetFixedColumnsHelper()    
Int GetFocusedRowIndex()    Returns the focused row's index.    取焦點行行號。
GetFocusedRowInput()       
GetFuncCallBack(index)     
getGridByRow(rowEvt)       
GetGridTD()    
GetGroupRow(visibleIndex)      
GetHeadersRow()    
getHorzScrollableControl()     
GetHorzScrollDiv()     
GetHorzScrollDivs()    
getIsColumnCanDoOperation(colElement,op)       
getIsColumnCanGroup(colElement)    
getIsColumnCanSort(colElement)     
GetItemElementName(element)    
GetLinkElement(element)    
GetLoadingDiv()    
GetLoadingPanelContainer()     
GetLoadingPanelDiv()       
GetLoadingPanelElement()       
GetMainElement()       
GetMainTable()     
Void GetPageRowValues(fieldNames : String,
onCallback : ASPxClientGridViewValuesCallback)  Returns the row values displayed within the current page.   取當前頁全部行指定欄位值。結果爲object數組,在回調函數中處理返回結果。
GetParentRowsWindow()      
GetPopupEditForm()     
GetRootTable()     
GetRow(visibleIndex)       
getRowByHtmlEvent(evt)     
getRowIndex(rowId)     
GetRowKey(visibleIndex)    
Void GetRowValues(
visibleIndex : int,
fieldNames : String,
onCallback : ASPxClientGridViewValuesCallback)  Returns the values of the specified data source fields within the specified row.    取指定行指定列值。在回調函數中處理返回結果。
getScrollableControl()     
getScrollableHelper()      
getScrollPosition(scrollableDiv, isTop)    
GetSelectedFieldValues(fieldNames : String,
onCallback : ASPxClientGridViewValuesCallback)  Returns the row values displayed within all selected rows.  取選中行欄位值。返回對象數組。在回調函數中處理返回結果。
Int GetSelectedRowCount()   Returns the number of selected rows.    取選中行數量。
GetSelectedState()     
GetSelectionInput()    
GetStyleTable()    
Int GetTopVisibleIndex()    Returns the index of the data row displayed at the ASPxGridView's top.  取當前頁首行行號。
Void GetValuesOnCustomCallback(args : String,
onCallback : ASPxClientGridViewValuesCallback)  Sends a callback to the server and generates the server-side
ASPxGridView.CustomDataCallback eventpassing it the specified
argument.   取自定義回調函數直接。結果在服務器端CustomDataCallback事件中返回。在回調函數中處理返回結果。
getVertScrollPosition()    
getVirtualPageIndex()      
getVirtualScrollMarginTop()    
Void GetVisibleRowsOnPage() Returns the number of rows displayed within the active page.   取當前頁首行行號。
Void GotoPage(pageIndex:int)    Selects the specified page. 跳到指定頁。
gridCallBack(arguments)    
gridFuncCallBack(arguments, onCallBack)    
1:voidGroupBy(intcolumnIndex);
2:voidGroupBy(ASPxClientGridViewColumn column);
3:voidGroupBy(stringcolumnFieldNameOrId);
4:voidGroupBy(stringcolumnFieldNameOrId, intgroupIndex);
5:voidGroupBy(intcolumnIndex, intgroupIndex);
6:voidGroupBy(ASPxClientGridViewColumn column, intgroupIndex);
7:voidGroupBy(intcolumnIndex, intgroupIndex,stringsortOrder);
8:voidGroupBy(ASPxClientGridViewColumn column, intgroupIndex, stringsortOrder);
9:voidGroupBy(stringcolumnFieldNameOrId, intgroupIndex, stringsortOrder);   Groups data bythe values of the specified column.  按指定欄位分組。
HeaderColumnResizing(e)    
headerDoClick(drag)    
HeaderMouseDown(element, e)    
Void HideCustomizationWindow()  Closes the Customization Window.    關閉自定義Form。
HideFilterControlPopup()       
HideFilterPopup()      
HideLoadingDiv()       
HideLoadingPanel()     
HideLoadingPanelOnCallback()       
HideParentRows()       
HidePopupEditForm()    
Bool InCallback()   Returns a value that determines whether a callback request sent bya web
control isbeing currently processed onthe server side.    判斷AspxGridView是否處於服務器回調過程當中。
InitailizeFocus()      
Initialize()       
InitializeCallBackData()       
InlineInitialize()     
Bool IsCustomizationWindowVisible() Indicates whether the Customization Window isdisplayed.    判斷自定義Form是否可見。
Bool IsDataRow(visibleIndex:int)    Indicates whether the specified row isa data row.  判斷指定行是否數據行。
IsDisplayed()      
IsElementBelongsToGrid(elementId)      
IsGroupHeader(id)      
Bool IsGroupRow(visibleIndex:int)   Indicates whether the specified row isa grouprow. 判斷指定行是否分組行。
Bool IsGroupRowExpanded(visibleIndex:int)   Indicates whether the specified grouprow isexpanded.  判斷指定分組行是否已展開。
IsRightToLeft()    
IsServerEventAssigned(eventName)       
IsTagertElementGroupPanel(targets)     
isVirtualScrollOutOfCurPage()      
IsVisible()    
mainTableClick(evt)    
mainTableClickCore(evt)    
mainTableDblClick(evt)     
mainTableDblClickCore(evt)     
MakeRowVisible(visibleIndex)       
Void MoveColumn(column, columnMoveTo, moveBefore, moveToGroup, moveFromGroup)   Hides the specified column. 隱藏或移動欄位。有15種語法。
Void NextPage() Activates the next page.    跳到下一頁。
OnAfterCallback()      
OnBeforeCallback()     
OnBeforeCallbackOrPostBack()       
onCallBack(result)     
OnCallbackError(result, data)      
OnCallbackGeneralError(errorMessage)       
OnColumnFilterInputChanged(editor)     
OnColumnFilterInputKeyPress(editor, e)     
OnColumnFilterInputSpecKeyPress()      
OnColumnFilterInputSpecKeyPress(editor, e)     
OnControlClick(clickedElement, htmlEvent)      
onFilterItemOut(row)       
onFilterItemOver(row)      
OnFilterKeyPressTick()     
onFilterPopupCallback(values)      
OnFuncCallback(result)     
OnParentRowMouseEnter(element)     
OnParentRowMouseLeave(evt)     
OnVirtualScroll(event)     
Void PerformCallback(args: String)  Sends a callback to the server and generates the server-side ASPxGridView.CustomCallback event, passing it the specified argument.  觸發AspxGridView服務器端CustomCallBack事件。經常使用來將客戶端方法轉換爲服務器方法。
prepareCallbackArgs(serializedArgs, rootTD)    
Void PrevPage() Activates the previous page.    跳到上一頁。
ProcessCallback(result)    
ProcessCallbackError(errorObj)     
ProcessCallbackGeneralError(errorMessage)      
RaiseBeginCallback(command)    
RaiseCallbackError(message)    
RaiseColumnGrouping(column)    
RaiseColumnMoving(targets)     
RaiseColumnResizing(column)    
RaiseColumnSorting(column)     
RaiseColumnStartDragging(column)       
RaiseContextMenu(objectType, index, htmlEvent)     
RaiseCustomizationWindowCloseUp()      
RaiseDetailRowCollapsing(visibleIndex)     
RaiseDetailRowExpanding(visibleIndex)      
RaiseEndCallback()     
RaiseFocusedRowChanged()       
RaiseInit()    
RaiseRowClick(visibleIndex, htmlEvent)     
RaiseRowCollapsing(visibleIndex)       
RaiseRowDblClick(visibleIndex, htmlEvent)      
RaiseRowExpanding(visibleIndex)    
RaiseSelectionChanged(visibleIndex, isSelected, isAllRecordsOnPage, isChangedOnServer)    
Refresh()      
RegisterServerEventAssigned(eventNames)    
RestoreActiveElementSettings()     
RestoreCallbackSettings()      
restoreScrollSettings()    
restoreVerticalScrollPosition()    
restoreVirtualScrollPosition()     
SaveActiveElementSettings(element)     
SaveCallbackSettings()     
saveScrollSettings()       
Void SelectAllRowsOnPage(selected:bool) Selects all unselected rows displayed onthe current page.  選中或取消選中當前頁中全部行。
SelectRow(visibleIndex, checked, fromCheckBox)     
SelectRowCore(visibleIndex, check)     
1.voidSelectRowOnPage(intvisibleIndex);
2.voidSelectRowOnPage(intvisibleIndex, bool
selected);  Selects or deselects the specified row displayed onthe current
page.   選中或取消選中當前頁面上指定行。
1: voidSelectRows()
2: voidSelectRows(intvisibleIndex)
3: voidSelectRows(int32[] visibleIndces)
4: voidSelectRows(intvisibleIndex,boolselected)
5: voidSelectRows(int32[] visibleIndces,boolselected) Selects or deselects the specified row within the
ASPxGridView.   選中或取消選中指定行。能夠不在當前頁。若是參數中包含了行號(visibleIndex),必須指定KeyFieldName。
1.voidSelectRowsByKey(objectkey);
2.voidSelectRowsByKey(Object[] keys);
3.voidSelectRowsByKey(objectkey, bool
selected);
4.voidSelectRowsByKey(Object[] keys, bool
selected);  Selects or deselects the specified rows displayed within the
ASPxGridView.   根據主鍵值選中或取消選中行。能夠提供多個主鍵值選中或取消選中多行。
SendPostBack(params)       
SetClientVisible(visible)      
setDragImagesPosition(el, left)    
SetEditValue(column, value)    
SetFilterEnabled(isFilterEnabled)      
SetFocusedRowIndex(visibleIndex)       
SetHeadersClientEvents()       
SetLoadingDivBounds(offsetElement, loadingDiv)     
SetLoadingPanelLocation(offsetElement, loadingPanel, x, y, offsetX, offsetY)       
setOnVirtualScroll()       
setScrollPosition(scrollableDiv, newScrolPos, isTop)       
SetVisible(visible)    
ShowCustomizationWindow(showAtElement)     
ShowError(errorText)       
ShowFilterControl()    
ShowFilterPopup(headerName, colIndex, htmlEvent)       
ShowParentRows(element)    
SortBy(column, sortOrder, reset, sortIndex)    
startColumnResizing(element, e)    
StartEditRow(visibleIndex)     
StartEditRowByKey(key)     
targetAdding(targets, element)     
targetChanged(targets)     
targetChanging(targets)    
targetImagesChangeVisibility(vis)      
UnGroup(column)    
UnselectAllRowsOnPage()    
UnselectRowOnPage(visibleIndex)    
UnselectRows(visibleIndices)       
UnselectRowsByKey(keys)    
UpdateEdit()       
UpdateHorzScrollDivs(onResize)     
UpdateVerticalScrollControls()     
updateVirtualMarginBottom()    
VirtualScroll()    
1.PerformCallback
其參數由程序員負責解釋。能夠某固定字符做爲參數分隔符。
例:
//自定義回調事件
protectedvoidASPxGridView1_CustomCallback(objectsender, 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], outvisibleIndex))
                        {
                            this.ASPxGridView1.StartEdit(visibleIndex);
                        }
                    }
                    break;
                default:
                    break;
            }
        }             
    }
}
前臺代碼示例:
Grid.PerformCallback('AddNewRow')
Grid.PerformCallback('StartEdit|2')
四10、 AspxGridView客戶端很是用方法
方法名及語法  英文說明    中文說明
_constDXCanGroup()     
_constDXCustWindow()       
_constDXDataRow()      
_constDXDropSource()       
_constDXDropTarget()       
_constDXEmptyHeader()      
_constDXGroupRow()     
_constDXMainTable()    
Object _getStyleRow(index:int, rowStyle:int)        取行樣式。Index:行號。rowStyle:樣式類型,數據行爲1,分組行爲2。返回一個<tr>元素。
Bool _isTrueInCheckList(checkList, index)      
Void _setFocusedRowInputValue()     將焦點行編輯框的值設置爲當前焦點行行號。焦點行編輯框是一個隱藏控件,命名爲:[ASPxGridViewID]_DXFocusedRowInput
相關文章
相關標籤/搜索