C1FlexGrid小结(转自http://www.cnblogs.com/C1SupportTeam/archive/2012/12/11/2812316.html)
C1FlexGrid控件来对一个表格格式中的数据进行显示,编辑,组和总结。该表格可以绑定到一个数据源,它可以对自己的数据进行管理。
C1FlexGrid控件有一个包含以下元素的丰富的对象模型:

以下的几个标题将引导你熟悉C1FlexGrid控件的几个主要特点:
行与列
介绍了应该如何设置表格尺寸和布局。
单元格选择
介绍了“当前单元格”和“选择”的概念。
单元格区域
介绍了应该如何将一个单元格的集合作为一个单元来操作。
单元格图像
介绍了应该如何在一个单元格中显示图像。
C1FlexGrid属性组
介绍了一个按功能交叉引用的C1FlexGrid主要属性的图。
设置单元格格式
介绍了应该如何通过设置数字、日期和布尔值的格式,或为一个单个的单元格或一个单元格的集合改变字体、颜色、对齐方式来自定义表格的外观。
编辑单元格
介绍了应该如何实现简单的文字编辑,下拉列表和组合列表,单元格按钮,编辑掩码和数据验证。
合并单元格
介绍了应该如何通过建立“分类”意见来突出数据的关系并更改表格的显示,以便使具有类似内容的单元格合并到一起。
概述和汇总数据
介绍了应该如何将分类汇总添加到表格和如何建立一个树形大纲。
保存,加载,并打印
介绍了你应该如何对一个表格的内容或格式进行保存,并在稍后重新加载,或利用其他应用程序,例如Microsoft Access和Excel,来互换表格的数据。本节还介绍了你应该如何对表格进行打印。
C1FlexGrid属性组
介绍了一个按功能交叉引用的C1FlexGrid主要属性的图。
行和列
一个C1FlexGrid控件包括由行和列。行和列的集合受到行和列属性的影响。
当把表格绑定到一个数据源,行和列的数目取决于可用的数据源中的数据有多少。在绑定模式下,你可以使用集合的Count属性将它们设置为任意值。例如,下面的代码将表格的尺寸设置为500行乘以10列:
· Visual Basic
|
_flex.Rows.Count = 500 _flex.Cols.Count = 10 |
· C#
|
flex.Rows.Count = 500; _flex.Cols.Count = 10; |
行和列有两个基本类型:固定的和滚动的。(通过Count属性被还原的数值包括了固定的和滚动的单元格)。当用户垂直滚动表格时,固定行停留在表格顶部;而当用户水平滚动表格时,固定列停留在表格左侧。

固定的单元格用于显示行和列的标题信息。

你可以通过使用行和列的集合中“固定的”属性来设置固定的行和列的数目。例如,下面的代码可以创建一个具有两个固定行和无固定列的表格:
· Visual Basic
|
flex.Rows.Fixed = 1 _flex.Cols.Fixed = 0 |
· C#
|
flex.Rows.Fixed = 1; _flex.Cols.Fixed = 0; |
行和列的集合也包含了在表格中插入、删除和移动行和列的方法。你可以使用“条目”属性(索引)来访问在每个集合中的独立的各个元素(行和列)。
只要你愿意,你就可以在设计时通过使用C1FlexGrid列编辑器来设置好表格列,而不是靠编写代码来执行这一步操作。有关如何使用C1FlexGrid列编辑器来对列进行编辑的更多详细信息,请参阅C1FlexGrid列编辑器(第25页)。
列宽度
列的宽度取决于它的“宽度”属性。在设计时,可以在表格中直接设置“宽度”属性,或通过C1FlexGrid列编辑器来进行。在表格中,单击并拖动出现在列标题的右边缘的水平的双箭头可以重新调整列的尺寸。

垂直的虚线显示了表格将会如何被重新调整尺寸。向左拖动指针使列宽变小;将其向右边拖动使列宽变大。当调整的操作完成,列的“宽度”属性将被调整。
在C1FlexGrid列编辑器中或代码中,为列指定“宽度”属性值。有关C1FlexGrid列编辑器的更多详细信息,请参阅“C1FlexGrid列编辑器”(第25页)。下面的代码可以设置第一列到第十列的 “宽度”的属性:
· Visual Basic
|
_flex.Cols(1).Width = 10 |
· C#
|
_flex.Cols[1].Width = 10; |
为了防止一个特定的列被调整,请在无论是列任务菜单上,还是列编辑器或代码中,都将这一列的“允许调整”属性设置为“假”。有关列任务菜单的更多详细信息,请参阅“列任务菜单”(第36页)。下面的代码可以将第一列的“允许调整”属性设置为“假”:
· Visual Basic
|
_flex.Cols(1).AllowResizing = False |
· C#
|
_flex.Cols[1].AllowResizing = false; |
单元格选择
表格中有一个光标单元格,当表格时是激活的,它会显示一个焦点矩形。当表格是可编辑的,用户可以使用键盘或鼠标来移动这个光标并且编辑单元格的内容。

请注意,Office Visual Styles也会通过高亮显示光标单元格所在的行和列标题,来显明光标单元格的位置。要想了解更多有关设置“视觉样式”的详细信息,请参阅“自定义外观,使用视觉样式”(第165页)。
你可以在代码中通过使用“行与列”属性来获取或设置当前单元格。例如,将任一属性设置为-1,可以隐藏光标。
表格支持扩展选择,单元格的矩形范围由两个对立的角落决定,即光标所在单元格和单元格选择的单元格。

请注意,Office Visual Styles也通过高亮显示选定的单元格所在的行和列的标题来显明了扩展选择的位置。要想了解更多有关设置“视觉样式”的详细信息,请参阅“自定义外观,使用视觉样式”(第165页)。
你可以在代码中通过使用“行选择”和“列选择”属性来获取或设置单元格选择,或通过使用“选择”的方法也可以。
注意:当光标单元格变化了,该“选择”会自动复位。要在代码中创建扩展选项,无论是通过在“行选择”和“列选择”之前先设置“行与列”或直接使用“选择”的方法都可以。
“选择”的外观是由以下属性决定的:
· 定焦矩形决定了焦点矩形的类型是为了表明光标单元格而绘制的。
· 高亮显示决定了什么时候该“选择”应该被突出显示(通常是,当该控件有一个突出的重点时,或者从不)。
· 高亮和定焦都是决定了“选择”的外观的单元格样式(字体,颜色和边框)。
可供选择的类型是由“选择模式”的属性决定的。在默认情况下,表格支持常规的范围选择。你可以修改此行为来防止扩展选择,或者来按行、按列,或在列表框模式下进行选择(“列表框模式”可以允许你来选择个别行)。
当使用列表框选择模式时,你可以通过使用“选择”属性来获取或设置个别行的选择状态。你还可以通过使用“选择”属性来恢复选定的行的集合。例如,下面的代码可以选择符合一个条件的所有行:
· Visual Basic
|
' 在“销售”列中选择多于8000名销售的所有行。 _flex.SelectionMode = C1.Win.C1FlexGrid.SelectionModeEnum.ListBox Dim index As Integer For index = _flex.Rows.Fixed To _flex.Rows.Count - 1 If Val(_flex(index, "Sales")) > 80000 Then _flex.Rows(index).Selected = True End If Next Console.WriteLine("There are now {0} rows selected", _flex.Rows.Selected.Count) |
· C#
|
// 在“销售”列中选择多于8000名销售的所有行。 _flex.SelectionMode = SelectionModeEnum.ListBox; for (int index = _flex.Rows.Fixed ; index < _flex.Rows.Count; index++) { if (Microsoft.VisualBasic.Conversion.Val(System.Runtime.CompilerServices.Runti meHelpers.GetObjectValue(_flex[index, "Sales"])) > 80000) { _flex.Rows[index].Selected = true; } } Console.WriteLine("There are now {0} rows selected", _flex.Rows.Selected.Count); |
单元格区域
“单元格区域”对象可以使你将单元格的任意组合作为一个简单的单元来工作。例如,下面的代码创建了一个“单元格区域”的对象,清除了范围内的数据,并赋予了它一个自定义样式:
· Visual Basic
|
Dim rg As CellRange = _flex.GetCellRange(3, 3, 10, 10) rg.Data = Nothing rg.Style = _flex.Styles("MyRangeStyle") |
· C#
|
CellRange rg = _flex.GetCellRange(3, 3, 10, 10); rg.Data = null; rg.Style = _flex.Styles["MyRangeStyle"]; |
“单元格区域”的对象具有可以恢复区域样式的StyleNew的属性, 如果存在一个,或创建了一个新的,将其分配给该区域并返回它。在你不需要对格式进行全面控制的情况下,此属性是很方便的。例如,如果你想要做的是给这个区域设定一个红色的背景,你可以编写如下代码来实现:
· Visual Basic
|
Dim rg As CellRange = _flex.GetCellRange(3, 3, 10, 10) rg.StyleNew.BackColor = Color.Red |
· C#
|
CellRange rg = _flex.GetCellRange(3, 3, 10, 10); rg.StyleNew.BackColor = Color.Red; |
单元格图像
每个表格内的单元格除了在单元格中存储数据以外还都可以显示图像。这可以通过两种方式来实现:
· 你可以通过使用“设置单元格图像”的方法,来将一个“图像”对象分配到一个单元格。这种方法可以允许你指定任意图像到每个单元格,并且当图像与单元格中的数据没有什么关系时这是很有用的。例如,你可能想使用图片作为一项指标来表明单元格中的数据是无效的。
· 你可以将一个“图像映射”指定到一列,表格就会将单元格中的数据自动映射到一个相应的图像。当图像包含了代表性的数据的情况下,这种方法是很有用的。例如,图像可能含有表示产品类型的图标。
C1FlexGrid小结(转自http://www.cnblogs.com/C1SupportTeam/archive/2012/12/11/2812316.html)的更多相关文章
- zero3- JPA http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html
1.很好的博客:http://www.cnblogs.com/holbrook/archive/2012/12/30/2839842.html 2. 最新的搬到github : http://holb ...
- @无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 通篇引用
无痕客 https://www.cnblogs.com/wuhenke/archive/2012/12/24/2830530.html 关于Async与Await的FAQ 关于Async与Await的 ...
- (转)Jquery最实用的实例及源码(http://www.cnblogs.com/kingfly/archive/2012/12/05/2802539.html)
1:窗口拖动 http://jqueryui.com/resizable/#max-min 2:导航条前后顺序拖动 http://jqueryui.com/sortable/ 3:类似百度首页板块顺序 ...
- Hadoop上的中文分词与词频统计实践 (有待学习 http://www.cnblogs.com/jiejue/archive/2012/12/16/2820788.html)
解决问题的方案 Hadoop上的中文分词与词频统计实践 首先来推荐相关材料:http://xiaoxia.org/2011/12/18/map-reduce-program-of-rmm-word-c ...
- 树形结构表的存储【转自:http://www.cnblogs.com/huangfox/archive/2012/04/11/2442408.html】
在数据库中存储树形结构的数据,这是一个非常普遍的需求,典型的比如论坛系统的版块关系.在传统的关系型数据库中,就已经产生了各种解决方案. 此文以存储树形结构数据为需求,分别描述了利用关系型数据库和文档型 ...
- CSS类与选择器【转】http://www.cnblogs.com/duanhuajian/archive/2012/12/17/2821524.html
1.在 HTML 中,一个 class 值中可能包含一个词列表,各个词之间用空格分隔.例如,如果希望将一个特定的元素同时标记为重要(important)和警告(warning),就可以写作(这两个词的 ...
- http://www.cnblogs.com/Lawson/archive/2012/09/03/2669122.html
http://www.cnblogs.com/Lawson/archive/2012/09/03/2669122.html
- http://www.cnblogs.com/Matrix54/archive/2012/05/03/2481260.html
http://www.cnblogs.com/Matrix54/archive/2012/05/03/2481260.html
- http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
http://www.cnblogs.com/java-my-life/archive/2012/05/28/2516865.html
随机推荐
- linux下C++动态链接C++库示例详解
注意其中使用函数返回基类指针的用法,因为Linux的动态链接库不能像MFC中那样直接导出类 一.介绍 如何使用dlopen API动态地加载C++函数和类,是Unix C++程序员经常碰到的问题. 事 ...
- [置顶] 关于UBUNTU 12.04, 在THINKPAD E430C上WIFI连接不上的问题
今天,把自己的本本给格式化了,化分成两个大块,在一切都搞定了后,出现了一个问题,即WIFI连接不上,但可以搜索到WIFI的网络,开始以为自己手贱,是不是密码输入了,试了N多次,发现偶错了,不是手贱,看 ...
- 【翻译+整理】.NET Core的介绍
.NET Core 是一个通用开发平台,它由微软和开源社区共同管理(git hub的.NET开源社区): 他支持Windows,macOS和Linux,并且可以运行在硬件设备中.云平台上和物联网嵌入式 ...
- pch文件的作用和配置
pch文件说白了就是一个头文件,只不过这个头文件的类在全局都可以使用,所以说非常的方便,并不用在每个类里面都写一些重复类的头文件,只要将用到的类的头文件放到pch文件里面就行了,当然了还有就是宏定义, ...
- JavaScript编写连连看
这几天写题比较少,做了一下网页设计的期末大作业.搞了个连连看,核心代码和hdu 1175那个题目一样. 越来越觉得学ACM是十分有用的,软件的核心是数据结构和算法,学会了DFS,连连看就水到渠成了. ...
- USB调试不能弹出授权窗口 unauthorized 的解决办法
今天把 AndroidStudio 1.5 给卸载了,重新安装 2.1版本,据说速度快了很多,结果手机一直没法授权调试,授权USB调试信任PC设备的窗口始终没看到,网上找了好多方法,什么驱动.重启.各 ...
- 话说Angularjs的$resource模块
上一篇中讲到使用$http同服务器进行通信,但是功能上比较简单,AngularJS还提供了另外一个可选的服务$resource,使用它可以非常方便的同支持restful的服务单进行数据交互. 安装 n ...
- Scheme-CPS
给出斐波那契数列计算函数,普通版和CPS版 #lang SCHEME (define (fib n) (if (< n 2) n (+ (fib (- n 1)) (fib (- n 2)))) ...
- 使用ObjectInputStream和ObjectOutputStream注意问题
1.对象序列化,类实现Serializable接口 不需要序列化的属性,使用transient声明 2.使用套接字流在主机之间传递对象注意问题: 学习自:Socket同时使用ObjectInputSt ...
- memcahced缓存特点
1.key-value数据结构 2.所有数据保存在内存中 3.可以分布式集群 4.处理并发的机制是libevent事件机制 5.当内容容量达到指定值后,就基于LRU(Least Recently Us ...