DEVEXPRESS GridControl自定義分組組名


在使用DEV控件庫中的gridcontrol時,有時候會用到它的分組功能,它提供了強大方便的分組功能,設置起來比較簡單。后面會介紹自定義組名方法。

方法/步驟

  1.  

    選中GridControl,打開它的Designer的Columns界面。選擇需要進行分組的Column,設置它的GroupIndex屬性。(默認是-1,不進行分組。設置為0,就是第一層分組。如果有多列要進行分組,第2列設置為1,就是第二層分組了。以此類推)

    DEVEXPRESS GridControl自定義分組組名
  2.  

    設置完成后,就是如下界面了(我是按照每間房屋進行分組的,分組字段是房屋ID)。

    DEVEXPRESS GridControl自定義分組組名
  3.  

    下面就是設置分組組名,默認是顯示該字段的列名。如果需要修改成自定義名稱,可以在GridControl的CustomDrawGroupRow事件中進行處理(它是重新繪制分組信息的)。

     private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
           {
               GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
               GridGroupRowInfo.GroupText = "Test";

        }

    DEVEXPRESS GridControl自定義分組組名
  4.  

    如果是需要進行更復雜的顯示(例如我是需要顯示樓盤,樓棟,房號字段的信息)。

    可以使用GetDataRowHandleByGroupRowHandle方法根據組的RowHandle得到該組第一條記錄在數據集中的RowHandle,然后獲取該組下面記錄的樓盤,樓棟,房號的字段信息。

     private void gvwDetails_CustomDrawGroupRow(object sender, DevExpress.XtraGrid.Views.Base.RowObjectCustomDrawEventArgs e)
           {
               GridGroupRowInfo GridGroupRowInfo = e.Info as GridGroupRowInfo;
               GridView gridview = sender as GridView;
               int index = gridview.GetDataRowHandleByGroupRowHandle(e.RowHandle);

               GridGroupRowInfo.GroupText = gridview.GetRowCellValue(index, "ConstructionName").ToString()
                   + gvwDetails.GetRowCellValue(index, "BuildingName").ToString()
                   + gvwDetails.GetRowCellValue(index, "HouseName").ToString();
               
           }

    最后隱藏樓盤,樓棟,房號字段的顯示。

    DEVEXPRESS GridControl自定義分組組名
  5.  

    之所以會這樣處理,是因為分組RowHandle與數據RowHandle關系如下。

    DEVEXPRESS GridControl自定義分組組名
  6.  


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM