DevExpress ASPxGridView基本用法

來源:互聯網
上載者:User

1、 綁定IList

ASPxGridView1.KeyFieldName = "ID";//指定主鍵。直接更新資料和子表綁定 需要用到

    ASPxGridView1.DataSource = list;//指定Grid的資料

ASPxGridView1.DataBind();   //執行綁定

 

選中GridView後,右鍵菜單選擇“Columns…”可以開啟列設定對話方塊,設定列的標題(Caption)、資料域(FieldName)等屬性。建立的列預設是GridViewDataTextColumn,新增或修改時以文字框編輯。選擇工具列的Change To變更列的類型,可以改變新增或修改時的編輯方式。

 

資料顯示相關的屬性

ASPxGridView1. SettingsBehavior.AllowFocusedRow=true 高亮選中的行ASPxGridView1.SettingsPager

PageSize 每頁顯示的資料量。若已經載入資料,修改後立即變更。

AllButton.Text “全部資料顯示”按鈕的文本

AllButton.Visible  是否顯示“全部資料顯示”按鈕

FirstPageBuotton/LastPageButton/NextPageButton/PrevPageButton/ 對應首頁、末頁、下頁、上頁,設定同上。

 

SEOFriendly 是否啟用搜尋引擎最佳化

Summary 指定分頁匯總資訊的格式

 

2、 綁定主從表(IList)

List的元素帶有List屬性(Category.Products),並且需要以Grid嵌套的方式顯示。

1、   選中GridView(gird1),右鍵菜單選擇“編輯模板”—“DetailRow”,頁面開啟詳細資料介面,向DetailRow添加一個新的ASPxGridView (grid2)顯示詳細資料,可以設定grid2的Columns相關屬性。Grid2.SettingsDetail.IsDetailGrid = true 指定grid2作為從表資料表格。

     2、   增加grid2 DataBinding事件    

Code
protected void grid2_DataBinding(object sender, EventArgs e)
    {
        DevExpress.Web.ASPxGridView.ASPxGridView grid = sender as DevExpress.Web.ASPxGridView.ASPxGridView;
        if ((grid != null) && (dict != null))
        {           
            int i = (int) grid.GetMasterRowKeyValue();/*取主表記錄的Key,主表grid必須設定KeyFieldName*/
            if (i >= 0)
            {              
                grid.DataSource = dict[i].Products;//通過Key定位元據,指定子表資料來源            
}
        }
}

 

 

3、   右鍵點擊DetailRow,選“結束模板編輯”。修改grid1.SettingsDetail的相關屬性

Bool AllowOnlyOneMasterRowExpanded 預設False,是否只允許主表一行展開。True後展開第二行明細記錄時,會關閉上次展開的明細記錄。

Bool ShowDetailButton 是否顯示明細按鈕,True顯示一個“+”在行首

Bool ShowDetailRow True顯示詳細資料

 

3、 匯出ASPxGridView的資料

添加一個ASPxGridViewExporter控制項到Page,將GridViewID設為需要匯出資料的Grid,調用以下方法實現匯出。

ASPxGridViewExporter1.WriteXlsToResponse

ASPxGridViewExporter1.WriteCvsToResponse

ASPxGridViewExporter1.WritePdfToResponse

ASPxGridViewExporter1.WriteRtfToResponse

 

4、 過濾資料

方式一、展開欄位標題旁邊的過濾清單過濾資料(類似Excel的過濾方式) grid.Settings.ShowHeaderFilterButton = true;過濾清單列出了該列出現的所有資料。還可以自訂過濾清單的內容,用法參閱:http://demos.devexpress.com/ASPxGridViewDemos/Filtering/HeaderFilter.aspx

方式二、在列頭顯示欄位過濾條件輸入框 grid.Settings.ShowFilterRow = true; 顯示條件判斷方式下拉式清單grid.Settings.ShowFilterRowMenu = true;

 

5、 使用者自訂欄顯示

Grid.SettingCustomizationWindow

Enabled 運行自訂欄顯示

PopupHorizontalAlign 列編輯窗水平對齊

PopupVerticalAlign 列編輯窗垂直對齊

 

     通過JavaScript開啟列編輯框。

 

Code
<script type="text/javascript">

<%-- 變更按鈕的標題 --%>
function UpdateCustomizationWindowValue() {
    var element = document.getElementById("btnCustWindow");
    if(element == null) return;
    element.value = (grid.IsCustomizationWindowVisible() ? "Hide" : "Show") + " Customization Window";
}
<%-- 顯示自訂欄編輯窗--%>
function ShowHideCustomizationWindow() {
    if(grid.IsCustomizationWindowVisible())
        grid.HideCustomizationWindow();
    else grid.ShowCustomizationWindow();        
    UpdateCustomizationWindowValue();
}
</script>
<input id="btnCustWindow" type="button" value="Show Customization Window" onclick="ShowHideCustomizationWindow();"/>

<dxwgv:ASPxGridView ID="gird"…………………….>
…………………………..
<ClientSideEvents CustomizationWindowCloseUp="function(s, e) { UpdateCustomizationWindowValue(); }" />
</dxwgv:ASPxGridView>

6、 Grid中編輯資料

只要指定ASPxGridView 的KeyFieldName,在Columns增加一列CommandColumn可以對資料進行增刪改操作。CommandColumn可設定為Link/Image/Button樣式。修改grid.SettingsEditing.Mode屬性,可以設定編輯資料的方式。編輯IList資料需要設定ObjectDataSouce,代碼參看http://www.devexpress.com/Support/Center/e/E38.aspx

Mode各值效果如

 

 

 

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在5個工作日內處理。

如果您發現本社區中有涉嫌抄襲的內容,歡迎發送郵件至: info-contact@alibabacloud.com 進行舉報並提供相關證據,工作人員會在 5 個工作天內聯絡您,一經查實,本站將立刻刪除涉嫌侵權內容。

A Free Trial That Lets You Build Big!

Start building with 50+ products and up to 12 months usage for Elastic Compute Service

  • Sales Support

    1 on 1 presale consultation

  • After-Sales Support

    24/7 Technical Support 6 Free Tickets per Quarter Faster Response

  • Alibaba Cloud offers highly flexible support services tailored to meet your exact needs.