sourcegrid应用中文帮助

上传人:第*** 文档编号:32697408 上传时间:2018-02-12 格式:DOC 页数:23 大小:133.50KB
返回 下载 相关 举报
sourcegrid应用中文帮助_第1页
第1页 / 共23页
sourcegrid应用中文帮助_第2页
第2页 / 共23页
sourcegrid应用中文帮助_第3页
第3页 / 共23页
sourcegrid应用中文帮助_第4页
第4页 / 共23页
sourcegrid应用中文帮助_第5页
第5页 / 共23页
点击查看更多>>
资源描述

《sourcegrid应用中文帮助》由会员分享,可在线阅读,更多相关《sourcegrid应用中文帮助(23页珍藏版)》请在金锄头文库上搜索。

1、1简介 SourceGrid 是一个完全以 C# 托管代码编写的 .NET Windows 窗体网格控件. SourceGrid 可用于显示或改变表格形式的数据。 SourceGrid 可用于绑定到一个数据源(以 DataView 为代表),或者直接建立每个单元格。 SourceGrid 仅使用托管代码(无 API 或 Interop),可以用于任何与 .NET 2 兼容的环境中。2安装 要使用 SourceGrid,你必须有与.NET 2 兼容的开发环境 (如 Visual Studio 2005)。要下载控件的最新版,请访问 http:/ 解压缩该文件后,可参考项目中的这些程序集:Sour

2、ceGrid.dll - SourceGrid 内核库 DevAge.Core.dll - 共用的辅助功能库 DevAge.Windows.Forms.dll - Windows 窗体库 SourceGrid.Extensions.dll - 可选库,有 SourceGrid 扩展功能(如 DataGrid, PlanningGrid) 典型地,我总是建议把它们复制到与*.xml 文件相同的位置,你可以在程序集相同的目录中找到,以便使用 IDE 的智能感应录入功能。打开你想要添加网格控件的表单,打开 IDE 的工具箱,工具箱-右键- 选择项-浏览并增加 SourceGrid.dll 和 Sou

3、rceGrid.Extensions.dll 程序集到 IDE 的工具箱中。这些程序集是运行时刻所需的,需要随同你的应用程序一起分发给最终用户。3SourceGrid 控件 有 2 种主要的控件包含在 SourceGrid.dll 程序集中:GridVirtual 控件 - 使用虚单元格(ICellVirtual)的网格控件 Grid 控件 - 使用实体单元格(ICell)的网格控件 因此有 2 种不同的基础对象:虚单元格和实体单元格。虚单元格是确定外观和行为,但不包含值的单元格。实体单元格与虚单元格有相同的属性,但也包含单元格的值,因此在网格中与特定位置相关联。在不需要显示大量单元格(典型地

4、,应少于 50,000 个单元格)时,可以使用任何类型的 Grid 控件。如果需要显示大量单元格,通常你必须使用一个派生于 GridVirtual 的控件。 典型地,在本文中,我将使用 Grid 控件,因为它更简单,尤其是作为简单的示例。但是,同样的代码基本上也能用于 GridVirtual 控件。Grid 控件也用作需要最大弹性的那些特殊的网格。拖动 Grid 控件到你的窗体中,就如同添加其它任何 .NET 控件一样,然后开始使用它。4基础示例 目前,SourceGrid 仅有少量的设计时刻支持,因此通常你必须人工编写代码操作网格。假定你已经有一个名为 grid1 的 Grid 控件,你可以

5、在 Form.Load 事件中编写如下代码:grid1.BorderStyle = BorderStyle.FixedSingle;grid1.ColumnsCount = 3;grid1.FixedRows = 1;grid1.Rows.Insert(0);grid10,0 = new SourceGrid.Cells.ColumnHeader(String);grid10,1 = new SourceGrid.Cells.ColumnHeader(DateTime);grid10,2 = new SourceGrid.Cells.ColumnHeader(CheckBox);for (in

6、t r = 1; r 0)View = Views.CheckBox.MiddleLeftAlign;elseView = Views.CheckBox.Default;Model.AddModel(new Models.CheckBox();AddController(Controllers.CheckBox.Default);AddController(Controllers.MouseInvalidate.Default);Editor = new Editors.EditorBase(typeof(bool);Caption = caption;private Models.Check

7、Box CheckBoxModelgetreturn (Models.CheckBox)Model.FindModel(typeof(Models.CheckBox);public bool Checkedgetreturn CheckBoxModel.GetCheckBoxStatus(this, Range.Start).Checked;setCheckBoxModel.SetCheckedValue(this, Range.Start, value);public string Captiongetreturn CheckBoxModel.Caption;setCheckBoxModel

8、.Caption = value;12焦点和选区 一个单元格能被选定, 或者能取得焦点。 当许多单元格被选中的时候, 只有一个单元格能取得被 Grid.Selection.ActivePosition 属性标识的焦点。在网格的 Selection 对象中, 有一个单元格被选中。取得焦点的单元格接收所有的鼠标和键盘事件, 选中单元格可以接收复制、粘贴和清除的操作。你可以使用 Grid.Selection.Focus(Position pos) 方法设置焦点到指定的单元格上, 使用输入的单元格位置将获取焦点, 使用 Position.Empty 作为参数则移除焦点.使用 Grid.Selectio

9、n.SelectCell 方法或 SelectRange 方法增加指定单元格到选区, 或从选区移除单元格要列示所有选中的单元格, 你可以使用 Grid.Selection.GetRanges() 方法返回选区的列表, 或使用 IsSelectedCell 方法检查特定的单元格是否被选中. 通过使用 Grid.Selection.BackColor, Grid.Selection.Border, Grid.Selection.FocusBackColor 等属性,你可以定制选区的各种外观.你也可以使用这些事件响应用户的特定操作: Grid.Selection.FocusRowEntered, G

10、rid.Selection.FocusRowLeaving, Grid.Selection.FocusColumnEntered, Grid.Selection.FocusColumnLeaving, Grid.Selection.CellLostFocus, Grid.Selection.CellGotFocus, Grid.Selection.SelectionChanged, .你可以使用 Grid.SelectionMode 属性设定选区的模式。可用的选项有: GridSelectionMode.Cell, GridSelectionMode.Row 和 GridSelectionMo

11、de.Column. 这样,你就能设置网格选中整行、整列, 或者只是一个单元格。允许或禁止多个选区, 必须使用 Grid.Selection.EnableMultiSelection 属性. 按下 Ctrl 或 Shift 键, 你可以使用鼠标选中多个单元格。13Position 和 Range 结构 项目中最常用的 2 个对象是结构 Position 和 Range. 结构 Position 以一个行(Row)和一个列(Column) 标识位置, 结构 Range 从一个起始 Position 和一个结束 Position 标识一组单元格 .你可以使用 grid.PositionToRect

12、angle 方法读取指定单元格的实际位置. 因此产生的矩形相对于网格的用户区域。你可以使用 grid.PointToScreen 把产生的矩形转换为绝对的屏幕坐标.你可以使用 grid.PositionAtPoint 方法, 为特定的用户区域点(Point)获取位置(Position).14CellContext 结构CellContext 是由一个 Cell 和一个 Position 组成的结构, 包含所有操作单元格的方法.最重要的方法是:StartEdit/EndEdit 在特定的单元格上开始/停止编辑 DisplayText 返回单元格的文本(string) Value 返回单元格的值

13、(object) 下面是一个普通的示例,演示如何使用 CellContext 类:SourceGrid.CellContext context = new SourceGrid.CellContext(grid, new SourceGrid.Position(r, c);context.Value = hello;context.StartEdit();通常以一个 CellContext 实例作为 controller 事件的参数被自动创建,这样你总是可以访问主要的单元格属性。15高级功能 151 使用边框(Border) 每个 View 类都有一个 DevAge.Drawing.IBord

14、er 类型的 Border 属性. DevAge.Drawing.IBorder 是一个泛型接口, 可用于绘制单元格的边框 .通常 IBorder 接口被 DevAge.Drawing.RectangleBorder 结构执行.下面是一个改变单元格边框的示例:DevAge.Drawing.Border border = new DevAge.Drawing.Border(Color.Red, 1);DevAge.Drawing.RectangleBorder cellBorder = new DevAge.Drawing.RectangleBorder(border, border);Sour

15、ceGrid.Cells.Views.Cell view = new SourceGrid.Cells.Views.Cell();view.Border = cellBorder;gridr, c.View = view;默认的边框设置只是右边框和底边框, 这样, 当有一组单元格时, 你会看见一个双边框.你也可以使用 Grid.BorderStyle 属性设置网格的边框.152 使用单元格提示条(ToolTip) 你可以在每个单元格上绑定一个提示条(ToolTip). 必须建立一个SourceGrid.Cells.Controllers.ToolTipText 控制器 , 并把它关联到单元格中

16、.示例如下:SourceGrid.Cells.Controllers.ToolTipText toolTipController = new SourceGrid.Cells.Controllers.ToolTipText();toolTipController.ToolTipTitle = ToolTip example;toolTipController.ToolTipIcon = ToolTipIcon.Info;toolTipController.IsBalloon = true;grid1r, c = new SourceGrid.Cells.Cell(Hello);grid1r, c.ToolTipText = Example of tooltip, bla bla bla

展开阅读全文
相关资源
正为您匹配相似的精品文档
相关搜索

最新文档


当前位置:首页 > 中学教育 > 职业教育

电脑版 |金锄头文库版权所有
经营许可证:蜀ICP备13022795号 | 川公网安备 51140202000112号