admin 管理员组文章数量: 1086019
2024年4月18日发(作者:个人博客免费)
1.简介
SourceGrid 是一个完全以 C# 托管代码编写的 .NET Windows 窗体网格控件.
SourceGrid 可用于显示或改变表格形式的数据。
SourceGrid 可用于绑定到一个数据源(以 DataView 为代表),或者直接建立每个
单元格。
SourceGrid 仅使用托管代码(无API 或 Interop),可以用于任何与 .NET 2 兼
容的环境中。
2.安装
要使用 SourceGrid,你必须有与.NET 2 兼容的开发环境(如Visual Studio 2005)。
要下载控件的最新版,请访问 /projects/sourcegrid. 解压缩该
文件后,可参考项目中的这些程序集:
- SourceGrid 内核库
- 共用的辅助功能库
- Windows 窗体库
[ - 可选库,有 SourceGrid 扩展功能(如DataGrid,
PlanningGrid)]
典型地,我总是建议把它们复制到与*.xml文件相同的位置,你可以在程序集相
同的目录中找到,以便使用IDE的智能感应录入功能。
打开你想要添加网格控件的表单,打开IDE的工具箱,工具箱->右键->选择项->
浏览并增加 和 程序集到IDE的工具箱
中。这些程序集是运行时刻所需的,需要随同你的应用程序一起分发给最终用户。
3.SourceGrid 控件
有 2 种主要的控件包含在 程序集中:
GridVirtual 控件 - 使用虚单元格(ICellVirtual)的网格控件
Grid 控件 - 使用实体单元格(ICell)的网格控件
因此有 2 种不同的基础对象:虚单元格和实体单元格。虚单元格是确定外观和
行为,但不包含值的单元格。实体单元格与虚单元格有相同的属性,但也包含单
元格的值,因此在网格中与特定位置相关联。
在不需要显示大量单元格(典型地,应少于50,000 个单元格)时,可以使用任
何类型的 Grid 控件。如果需要显示大量单元格,通常你必须使用一个派生于
GridVirtual 的控件。
典型地,在本文中,我将使用 Grid 控件,因为它更简单,尤其是作为简单的示
例。但是,同样的代码基本上也能用于 GridVirtual 控件。
Grid 控件也用作需要最大弹性的那些特殊的网格。
拖动 Grid 控件到你的窗体中,就如同添加其它任何 .NET 控件一样,然后开始
使用它。
4.基础示例
目前,SourceGrid 仅有少量的设计时刻支持,因此通常你必须人工编写代码操
作网格。
假定你已经有一个名为 grid1 的 Grid 控件,你可以在 事件中编写
如下代码:
Style = ingle;
sCount = 3;
ows = 1;
(0);
grid1[0,0] = new Header("String");
grid1[0,1] = new Header("DateTime");
grid1[0,2] = new Header("CheckBox");
for (int r = 1; r < 10; r++)
{
(r);
grid1[r,0] = new ("Hello " + ng(), typeof(string));
grid1[r,1] = new (, typeof(DateTime));
grid1[r,2] = new ox(null, true);
}
zeCells();
可以看到,你能像使用 2 维数组一样来使用 grid。 在上面的代码中,我已经
设置了网格的边框,列数,固定行数,建立了一个标头行。对此标头,我使用了
一种 ColumnHeader 单元格。我已经为每列使用了特定类型,从而以一种简单
的外观建立了其他单元格。Cell 类自动为指定类型建立了一个适当的编辑器(在
本例中为一个文本框和一个日期时间选择器)。对最后一列,我使用了一个复选
框单元格(CheckBox cell),允许在单元格中直接显示复选框。每种单元格定义
了它自己的可视外观和行为。
建立的网格支持排序,可改变列宽和编辑单元格。
下面是一些重要的功能:
如果你想读取或改变单元格中的值,可以使用 grid1[r,c].Value 属性, r 和 c 是
单元格的行和列。
删除某行,可以编写代码如: (r)
改变列宽,可以编写代码如: s[c].Width = 100
如果你想改变某些单元格的可视属性,你必须使用 View 类。
让我们看看下一个示例:
Style = ingle;
版权声明:本文标题:SourceGrid应用中文帮助 内容由网友自发贡献,该文观点仅代表作者本人, 转载请联系作者并注明出处:http://www.roclinux.cn/b/1713390941a632238.html, 本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如发现本站有涉嫌抄袭侵权/违法违规的内容,一经查实,本站将立刻删除。
发表评论