如何Windows分页控件中增加统计功能
在我的博客里面,很多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 > )
{
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 > && this.winGridView1.gridView1.RowCount > )
{
//统一设置100宽度
foreach (DevExpress.XtraGrid.Columns.GridColumn column in this.winGridView1.gridView1.Columns)
{
column.Width = ;
} //可特殊设置特别的宽度
SetGridColumWidth("Note", );
SetGridColumWidth("ItemNo", );
SetGridColumWidth("ItemBigType", );
SetGridColumWidth("WareHouse", ); SetGridColumWidth("ID", );
SetGridColumWidth("StockQuantity", );
SetGridColumWidth("StockAmount", ); //ID,StockQuantity,Unit,Price
SetGridColumWidth("Unit", );
SetGridColumWidth("Price", );
} CreateSummary();
}
以上就是基于DevExpress样式的Winform分页控件的基础上实现的统计数据效果,希望对你使用有帮助。
如何Windows分页控件中增加统计功能的更多相关文章
- 在ListView控件中实现修改功能
实现效果: 知识运用: ListView控件的LabelEdit属性 //指示用户是否可以编辑控件中数据项的标签 public bool LabelEdit{get;set;} 实现代码: priva ...
- WPF 实现 DataGrid/ListView 分页控件
在WPF中,通常会选用DataGrid/ListView进行数据展示,如果数据量不多,可以直接一个页面显示出来.如果数据量很大,2000条数据,一次性显示在一个页面中,不仅消耗资源,而且用户体验也很糟 ...
- 基于jquery扩展漂亮的分页控件(ajax)
分页控件式大家在熟悉不过的控件,很多情况下都需要使用到分页控件来完成列表数据加载操作,在很多分页控件中有的编写麻烦,有的应用扩展比较复杂,有的分页控件样式比较丑陋,有的分页控件用户体验操作比较简单等等 ...
- C# WinForm自定义通用分页控件
大家好,前几天因工作需要要开发一个基于WinForm的小程序.其中要用到分页,最开始的想法找个第三方的dll用一下,但是后来想了想觉得不如自己写一个玩一下 之前的web开发中有各式各样的列表组件基本都 ...
- 在DevExpress程序中使用Winform分页控件直接录入数据并保存
一般情况下,我们都倾向于使用一个组织比较好的独立界面来录入或者展示相关的数据,这样处理比较规范,也方便显示比较复杂的数据.不过在一些情况下,我们也可能需要直接在GridView表格上直接录入或者修改数 ...
- 在web中使用windows控件,实现摄像头功能
最近做的一个Web版的视频会议项目,需要在网页中播放来自远程摄像头采集的实时视频,我们已经有了播放远程实时视频的使用C#编写的windows控件,如何将其嵌入到网页中去了?这需要使用一种古老的技术,A ...
- .net dataGridView当鼠标经过时当前行背景色变色;然后【给GridView增加单击行事件,并获取单击行的数据填充到页面中的控件中】
1.首先在前台dataGridview属性中增加onRowDataBound属性事件 2.然后在后台Observing_RowDataBound事件中增加代码 protected void Obser ...
- c#中如何跨线程调用windows窗体控件
c#中如何跨线程调用windows窗体控件? 我们在做winform应用的时候,大部分情况下都会碰到使用多线程控制界面上控件信息的问题.然而我们并不能用传统方法来做这个问题,下面我将详细的介绍.首 ...
- 在WPF中添加Windows Form控件(包括 ocx控件)
首先,需要向项目中的reference添加两个dll,一个是.NET库中的System.Windows.Forms,另外一个是WindowsFormsIntegration,它的位置一般是在C:\ ...
随机推荐
- Sql Server对象管理器的使用
VS提供了很多便捷的工具,Sql Server对象管理器可以直接在VS里面访问数据库,不用再打开一个Management Studio.这里记录下Sql Server对象管理器的使用. 1.先在视图里 ...
- Windows 安装 MongoDB 服务
第一步 以管理员权限打开命令提示符 按Windows+R键(Ctrl和Alt中间的那个,有微软Logo的键),输入cmd打开命令提示符 第二步 创建数据库目录. 使用mkdir命令,创建数据库的目录和 ...
- Chrome扩展程序的二次开发:把它改得更适合自己使用
我当然知道未经作者允许修改别人程序是不道德的了,但作为学习研究之用还是无可厚非,这里仅供交流. 一切都是需求驱动的 话说某天我在网上猎奇的时候无意间发现这么一款神奇的谷歌浏览器插件:Extension ...
- 成都亚马逊AWSome Day回顾
6月25日我和公司同仁一起参加了亚马逊在成都的第一场AWSome Day活动.整个活动时间异常紧促,短短一天包含了7堂session,讲师的狂轰乱炸使得我们同学们普遍觉得比上班累多了.好了,废话不多说 ...
- C++ 引用
本文主要记录了C++中的引用特性,总结了一下代码示例和错误. 简单的引用 引用是C++的特性,指针是C语言的特性.上面代码结果如下: 20 20 100 20 true 引用和被引用的对象是占用同一个 ...
- DDD~我们应该知道的Model,DomainModel和ViewModel
回到目录 图在前 目前项目中可能出现的三种Model模式,对于我们现在开发的一个项目,我觉得使用DDD的思想来设计模型比较清晰,使用DDD的思想把模型model分成了如下三种: 下面是我微博中的截 ...
- Android开发学习之路-抢红包助手开发全攻略
背景:新年之际,微信微博支付宝红包是到处飞,但是,自己的手速总是比别人慢一点最后导致红包没抢到,红包助手就应运而生. 需求:收到红包的时候进行提醒,然后跳转到红包的界面方便用户 思路:获取“读取通知信 ...
- mybatis结合分页的使用及解析.
首先说明: 这里分页是使用了SSM框架+ jsp 来做的, 当然分页还有其他的很多做法, 比如easyUI自带的分页效果. 但是这些原理都是很相似的, 再次只做为学习总结之用. 一, 效果图这里的截图 ...
- Linux初学 - 解决chkconfig Segmentation fault(core dumped)
yum install *chkconfig*
- Masonry -- 使用纯代码进行iOS应用的autolayout自适应布局
简介 简化iOS应用使用纯代码机型自适应布局的工作,使用一种简洁高效的语法替代NSLayoutConstraints. 项目主页: Masonry 最新示例: 点击下载 项目简议: 如果再看到关于纯代 ...