如何Windows分頁控制項中增加統計功能

來源:互聯網
上載者:User

標籤: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分頁控制項中增加統計功能

聯繫我們

該頁面正文內容均來源於網絡整理,並不代表阿里雲官方的觀點,該頁面所提到的產品和服務也與阿里云無關,如果該頁面內容對您造成了困擾,歡迎寫郵件給我們,收到郵件我們將在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.