翻譯|使用教程|編輯:龔雪|2025-02-10 10:48:34.260|閱讀 101 次
概述:本文主要介紹如何使用DevExpress WinForms Data Grid組件實現單元格合并,歡迎下載最新版組件體驗!
# 界面/圖表報表/文檔/IDE等千款熱門軟控件火熱銷售中 >>
相關鏈接:
DevExpress WinForms擁有180+組件和UI庫,能為Windows Forms平臺創建具有影響力的業務解決方案。DevExpress WinForms能完美構建流暢、美觀且易于使用的應用程序,無論是Office風格的界面,還是分析處理大批量的業務數據,它都能輕松勝任!
DevExpress WinForms網格控件可以垂直合并單元格,從而為具有許多重復值的視圖提供更清晰的數據表示。在本教程中,您將學習如何為整個視圖或單個列啟用單元格合并功能,還將看到如何更改確定是否合并兩個相鄰單元格的算法。
獲取DevExpress WinForms v24.2正式版下載
DevExpress技術交流群11:749942875 歡迎一起進群討論
從一個以常規格式顯示數據的網格控件開始。
在設計時,訪問視圖的屬性,然后展開并啟用選項。
由于網格沒有為單元格合并提供默認UI,因此可以創建一個按鈕處理程序,在運行時切換相同的選項。
C#
private barButtonItem1_ItemClick(object sender, ItemClickEventArgs e) { gridView1.OptionsView.AllowCellMerge = !gridView1.OptionsView.AllowCellMerge; }
運行應用程序,注意具有相同值的列單元格被合并,單擊該按鈕可查看啟用或禁用單元格合并時布局的變化情況。
請注意,可以通過對具有重復值的列進行排序來啟用更具可讀性的視圖。這將相同的值放在一起,因此視圖將更大的數據塊連接到合并的單元格中。
現在選擇Priority列來訪問它的屬性,展開,然后禁用選項。
運行應用程序,查看優先級單元格不再合并,而其他列仍然啟用了該特性。
現在您可以注意到,Created By列中的電子郵件地址具有重復的域。您可以更改單元格合并算法,以便將具有相同域的所有單元格合并在一起。
選擇網格視圖并訪問其事件來編寫處理程序,代碼檢查是否正在處理Created By列。單元格顯示文本(或電子郵件地址)從參數獲得,處理程序然后檢索帶有域名的子字符串,并將其分配回。
C#
private void gridView1_CustomColumnDisplayText(object sender, DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventArgs e) { if (e.Column == colCreatorID) { string email = e.DisplayText; string domain = email.Substring(email.IndexOf('@') + 1); e.DisplayText = domain; } }
運行應用程序,您將看到域名顯示在單元格中,但沒有發生合并,因為該特性仍然依賴于單元格值而不是顯示文本。
為了解決這個問題,編寫一個事件處理程序。首先,檢查正在處理的列是否正確。然后,獲取正在比較的兩個單元格的顯示文本。最后,指示如果單元格的顯示文本匹配,則合并單元格。將參數設置為true,以覆蓋網格對該列的默認處理。
C#
using DevExpress.XtraGrid.Views.Grid; // ... private void gridView1_CellMerge(object sender, DevExpress.XtraGrid.Views.Grid.CellMergeEventArgs e) { GridView view = sender as GridView; if(view == null) return; if (e.Column == colCreatorID) { string text1 = view.GetRowCellDisplayText(e.RowHandle1, colCreatorID); string text2 = view.GetRowCellDisplayText(e.RowHandle2, colCreatorID); e.Merge = (text1 == text2); e.Handled = true; } }
現在運行應用程序,查看是否正在根據域信息合并單元格。
更多產品資訊及授權,歡迎“”!
慧都科技為國內眾多知名企業提供一站式的DevExpress產品中文服務,負責DevExpress控件產品中國區的銷售、試用、技術支持,賦能航空航天、金融、醫療等行業客戶成功構建企業級應用!歡迎咨詢:023-68661681,慧都科技助力企業邁向新高度!
本站文章除注明轉載外,均為本站原創或翻譯。歡迎任何形式的轉載,但請務必注明出處、不得修改原文相關鏈接,如果存在內容上的異議請郵件反饋至chenjj@fc6vip.cn
文章轉載自:慧都網