国家  china

C1FlexGrid for WinForms:使用CustomComparer自定义排序

C1FlexGrid for WinForms支持排序。它的内置排序有一些选项(忽略大小写,使用显示值等等)。它提供了Sort方法支持直接排序内容。

如果有更多的需求,就需要创建类继承ICompare接口。

本文就来介绍如何使用CustomComparer自定义排序。
[更多...]

C1FlexGrid:在排序列上绘制排序符号

在上篇文章C1FlexGrid DataMap列自定义排序:中,我们讲述了在C1FlexGrid设置DataMap列后,如何自定义排序。 本文就在此基础上,介绍如何按自己的规则绘制排序符号。 排序的时候,列依靠排序顺序来进行值排序。因此,你需要根据排序的顺序,给列添加新的排序符号。 这就需要使用C1FlexGrid的OwnerDraw事件,比较容易的绘制符号。当单元格重画的时候,这个事件就会被触发。 首先,在Form初始化的时候,设置ShowSortPosition为None,并设置DrawMode为OwnerDraw。这样子就放弃原本Sort符号,改由OwnerDraw来画。 然后,在OwnerDraw事件里,我们根据排序顺序绘制符号图像在header cell上。 [更多...]

C1FlexGrid DataMap列自定义排序

我们使用C1Flexgrid的DataMap属性在列设置单元格的值和展示值相关联, 并排序,这个时候的排序,是基于实际的值,例如:关键值。 有些客户需要基于展示值对列进行排序,本文就介绍如何实现这个需求。 首先,我们需要绑定C1Flexgrid到数据源。 保存Northwind数据源的Products数据表,然后创建两个Dictionary对象,可以设置SupplierID列和CategoryID 列的DataMap属性。 下面代码展示CompanyName替代SupplierID和CategoryName替代CategoryID。 [更多...]

在C1FlexGrid的列头展示汇总

C1FlexGrid控件具有展示、编辑、格式化、组织、总结以及打印数据等非常友好的功能。

本文着重介绍C1FlexGrid for Winforms其他的实用性应用,指导用户如何计算选择单元格区域的合计值,并且展示在列头。

本文会使用到C1FlexGrid的SelChange和AfterSelChange事件。
[更多...]

C1FlexGrid教程:一次性打印多个C1FlexGrid

C1FlexGrid控件里,有提供PrintGrid方法实现打印。但针对打印多个C1FlexGrid,如果使用循环打印,每次都要预览,然后一个个的打印。这样未免太麻烦。那么,有没有更好的打印多个C1FlexGrid的方法呢?

本文就来讨论如何将多个C1FlexGrid一次性展示出来,让用户更快速和灵活的选择打印方式。

加载多个C1FlexGrid
添加多个C1FlexGrid,本文的示例中添加了2个C1FlexGrid到窗体,并且通过DataSource给他们绑定不同的数据源。

然后声明全局变量fxCollection,并在FormLoad事件中将这些C1FlexGrid都添加到List中。代码如下:

List fxCollection;
fxCollection = new List();
fxCollection.Add(_flex);
fxCollection.Add(c1FlexGrid1);

设计打印预览窗体
创建一个新的窗体,并在该窗体上拖拽C1PrintPreviewControl,为之后C1FlexGrid的打印预览做好准备。

具体代码可以参考附件Sample。
[更多...]

趋于完美的FlexGrid过滤新特性

简单易用, 我们经常会在如今这个时代看到这个词语.但怎么样才算是简单易用呢?我们做某件事情的时候用最常使用最熟悉的方式,那就是简单易用的.

我们需要一段时间来适应习惯.同样,使用某个软件的时候也需要时间适应并觉得操作起来舒适顺手. 我们的需求、操作逐渐被所遇到的软件特性所固定。比如,最近可以在ipad上使用MS Office。

事实上我在写这篇博客时基本靠纯手工工作,甚至不使用MS Office来处理。而这在如今是完全跟不上潮流的。更重要的是,我们希望自己的文字处理器可以与MSWord相似,我们的spread sheet应用程序可以越来越像MSExcel。这已经被人为设定成当今的标准了。况且,何乐而不为呢? Microsoft 已经成为了桌面应用程序的领跑者,任何一个想要在这个领域创造出同类产品的公司的确需要让自己的产品和最顶级的相比较、相竞争。
[更多...]

C1FlexGrid用户个性化设置: 序列化列顺序

序列化是指一个对象的实例可以被保存,保存成一个二进制串、文本串、XML、二进制加密数据等;把数据放在硬盘上。这样,关机时序列化它,开机时反序列化它。序列化概念的提出和实现,可以使我们的应用程序的设置信息保存和读取更加方便。序列化有很多好处,比如,在一台机器上产生一个实例,初始化完毕,然后可以序列化,通过网络传送到另一台机器,然后反序列化,得到对象实例,之后再执行某些业务逻辑,得到结果,再序列化,返回第一台机器,第一台机器得到对象实例,得到结果。这个例子是目前比较先进的“智能代理”的原理。 当前比较热火的web services使用soap协议,soap协议也是以对象的可序列化为基础的; 以及WCF通信原理也是通过序列化为XML、JSON字符串在网络中传送,在另外一台电脑再反序列化,还原对象 [更多...]

C1FlexGrid强大的交互体验:行、列、单元格的自如定制

使用ComponentOne WinForms 表格控件FlexGrid,将诸多定制能力内嵌在产品中,让应用系统自如交互。比如调整列宽、调整行高、自适应匹配最佳列宽、自适应匹配最佳行高、通过下拉窗口选择单元格的数据、通过可视化日期控件或计算器控件指定单元格的值。


本篇博客将讲述如何设置FlexGrid单元格类型,FlexGrid支持复选框,下拉列表,按钮,掩码,日历以及自定义单元格类型。以及自由定制行、列、单元格。
[更多...]