標籤:winform 分頁控制項 style blog http color io ar 使用
在我的部落格裡面,很多Winform程式裡面都用到了分頁處理,這樣可以不管是在直接存取資料庫的情境還是使用網路方式訪問WCF服務擷取資料,都能獲得較好的效率,因此WInform程式裡面的分頁控制項的使用是很好的一個解決方式,它能夠快速擷取資料,並將可能減少我們增加太多的代碼邏輯,實現簡單、高效、統一的理念。本篇主要介紹如何在分頁的GridControl裡面如何?資料的統計功能。
一般情況下,分頁控制項呈現分為兩種方式,一種需要有分頁碼的真正分頁處理,一種是不需要分頁處理,但是列表和功能基本保持一致的介面,其實這兩種情況都是對清單控制項的進一步封裝,以方便使用的目的。
有分頁底欄的控制項介面:
無需分頁的,保持一致介面的控制項效果。
這兩種方式,都是對GridControl控制項的封裝,而且他們的使用步驟和屬性基本上保持一致。
使用代碼如下所示。
this.winGridView1.BestFitColumnWith = false; this.winGridView1.AppendedMenu = this.contextMenuStrip1; this.winGridView1.gridView1.DataSourceChanged += new EventHandler(gridView1_DataSourceChanged); this.winGridView1.OnRefresh += new EventHandler(winGridView1_OnRefresh); this.winGridView1.gridView1.CustomColumnDisplayText += new DevExpress.XtraGrid.Views.Base.CustomColumnDisplayTextEventHandler(gridView1_CustomColumnDisplayText); this.winGridView1.gridView1.RowCellStyle += new DevExpress.XtraGrid.Views.Grid.RowCellStyleEventHandler(gridView1_RowCellStyle);
那麼我們如何在分頁控制項的基礎上增加統計功能呢,由於分頁控制項的欄位是根據配置自動建立的,我們需要在建立後,資料繫結的時候,把它增加上去,這樣我們就可以實現資料的統計處理了,我們最終希望的統計效果是在底部統計欄目裡面增加一些特殊的值的統計處理,介面如下所示,這個是我Winform開發架構裡面,對於庫存查詢統計的一個案例,供參考。
上面的統計實現代碼如下所示。
/// <summary> /// 常見匯總資訊 /// </summary> private void CreateSummary() { GridView gridView1 = this.winGridView1.gridView1; if (gridView1 != null && gridView1.Columns.Count > 0) { gridView1.GroupSummary.Clear(); gridView1.OptionsView.ColumnAutoWidth = false; gridView1.OptionsView.GroupFooterShowMode = DevExpress.XtraGrid.Views.Grid.GroupFooterShowMode.VisibleAlways; gridView1.OptionsView.ShowFooter = true; gridView1.OptionsView.ShowGroupedColumns = true; gridView1.OptionsView.ShowGroupPanel = false; DevExpress.XtraGrid.Columns.GridColumn IDColumn = gridView1.Columns["ID"]; IDColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Count, "ID", "記錄數:{0}")}); DevExpress.XtraGrid.Columns.GridColumn StockQuantityColumn = gridView1.Columns["STOCKQUANTITY"]; StockQuantityColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, "STOCKQUANTITY", "庫存數量:{0}")}); DevExpress.XtraGrid.Columns.GridColumn StockAmountColumn = gridView1.Columns["STOCKAMOUNT"]; StockAmountColumn.Summary.AddRange(new DevExpress.XtraGrid.GridSummaryItem[] { new DevExpress.XtraGrid.GridColumnSummaryItem(DevExpress.Data.SummaryItemType.Sum, "STOCKAMOUNT", "庫存金額:{0:C2}")}); } }
這個函數,我們可以在資料變化的時候,重新調用函數進行統計設定即可,如下代碼所示。
private void gridView1_DataSourceChanged(object sender, EventArgs e) { if (this.winGridView1.gridView1.Columns.Count > 0 && this.winGridView1.gridView1.RowCount > 0) { //統一設定100寬度 foreach (DevExpress.XtraGrid.Columns.GridColumn column in this.winGridView1.gridView1.Columns) { column.Width = 100; } //可特殊設定特別的寬度 SetGridColumWidth("Note", 200); SetGridColumWidth("ItemNo", 120); SetGridColumWidth("ItemBigType", 120); SetGridColumWidth("WareHouse", 120); SetGridColumWidth("ID", 100); SetGridColumWidth("StockQuantity", 120); SetGridColumWidth("StockAmount", 160); //ID,StockQuantity,Unit,Price SetGridColumWidth("Unit", 80); SetGridColumWidth("Price", 80); } CreateSummary(); }
以上就是基於DevExpress樣式的Winform分頁控制項的基礎上實現的統計資料效果,希望對你使用有協助。
如何Windows分頁控制項中增加統計功能