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;


本文标签: 控件 使用 网格 程序 改变