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
随机推荐
- Qt Creator+MinGW+boost特殊函数的使用示例
Qt Creator+MinGW+boost特殊函数的使用示例: 先编译和安装boost: bootstrap.bat gcc .\b2 --toolset=gcc --prefix=E:\boost ...
- Mvc分页组件MvcSimplePager代码重构
1 Mvc分页组件MvcSimplePager代码重构 1.1 Intro 1.2 MvcSimplePager 代码优化 1.3 MvcSimplePager 使用 1.4 End Mvc分页组件M ...
- C++ 头文件系列(queue)
简介 这个头文件定义了两个跟队列有关的类----quque.priority_queue,分别实现的是队列 和 优先队列这两个概念. 但是与这两个类模版与其它类模版(vector.array等)最大的 ...
- jq 测试是否到页面最底端
$(window).scroll(function () { if ($(document).scrollTop() + $(window).height() >= $(document).he ...
- oracle 增加表空间
1.表空间使用情况 SELECT UPPER(F.TABLESPACE_NAME) "表空间名", D.TOT_GROOTTE_MB "表空间大小(M)", D ...
- jQuery.cssHooks
概述 直接向 jQuery 中添加钩子,用于覆盖设置或获取特定 CSS 属性时的方法,目的是为了标准化 CSS 属性名或创建自定义属性. $.cssHooks 对象提供了一种通过定义函数来获取或设置特 ...
- C语言考试可能会涉及到的内容
以下是汽院下属科院C(B)考试范围,C(A)的话,不考的内容应该都会涉及到,重点内容会延伸至三.四章. 一.教材上的两套自测题 二.C语言实验与实训教程 第一章.第二章.第三章.第四章的典型练习及解释 ...
- Egret 显示容器
1,显示容器:所有的容器都继承自DisplayObjectContainer , DisplayObjectContainer 又继承自DisplayObject: 2,想定义一个容器只要创建一个类, ...
- 面试题-Java基础-布局管理器
1.什么是布局管理器? 布局管理器用来在容器中组织组件.
- CODE[VS]-蛇形矩阵-模拟-天梯白银
题目描述 Description 小明玩一个数字游戏,取个n行n列数字矩阵(其中n为不超过100的奇数),数字的填补方法为:在矩阵中心从1开始以逆时针方向绕行,逐圈扩大,直到n行n列填满数字,请输出该 ...