您的位置:首页 > 其它

与DataGrid 列相关的内容

2005-04-07 20:11 225 查看
使用 DataGrid Web 服务器控件时,您可将几种不同类型的列构建到网格中:

绑定列

按钮列

超级链接列

模板列

另外,还可以允许网格根据网格数据源中的信息来自动生成列。

自动生成的列

如果 DataGrid 控件的 AutoGenerateColumn 属性设置为 true,该控件将会为数据源中的每个可绑定列都生成并显示绑定列。可绑定的列类型包括基元类型、字符串、datetime 和十进制。如果数据源中有一个字段不是受支持的列类型,则该控件不会为该字段创建列。只要数据源至少有一个可绑定列,DataGrid 控件就会绑定到该源并生成可绑定列,而且会忽略那些没有可绑定列的数据源。如果 AutoGenerateColumnstrue,而且您创建了显式列,网格就会既显示显式列也显示自动生成的列。

要在网格中显示信息,使用自动生成的列是一种简单快捷的方法。由于这些列是在运行时自动生成的,并且会按它们在数据源出现的顺序显示,所以,您无法灵活控制这些列的布局方式。因此,建议将自动生成的列主要用于简单的数据显示、原型页以及其他不必对列进行布局的情况。如果您需要控制要显示的列以及这些列的显示顺序,则应显式定义列。

绑定列

绑定列(BoundColumn 元素)显示数据源中一列的信息。对于要显示的每个数据列,通常将一个绑定列添加到网格中。如果您要选择在网格中显示的数据列,请使用绑定列。绑定列还允许您设置各种属性来指定功能。例如:

列标头和列脚注的文本、字体以及颜色。

列宽。

数据格式。

列是否为只读(即,当行处于编辑模式时,它是否会显示可编辑控件)。

有关在 Visual Studio Web 窗体设计器中创建绑定列的详细信息,请参见向 DataGrid Web 服务器控件添加绑定列。有关创建绑定列的详细信息,请参见 DataGrid Web 服务器控件。

按钮列

按钮列允许您添加带按钮的网格列,这些按钮允许用户执行特定的功能(例如,选择/删除当前行、将当前行置于编辑模式)。您可为预定义的功能创建按钮,或者创建自己的功能(例如,“添加到购物车”按钮)。

可以定义两种类型的按钮列:

根据预定义,EditCommandColumn 元素包含三个按钮。在显示模式中,该列显示一个“编辑”按钮,用户单击此按钮可将行置于编辑模式(带有可编辑的控件)。当行处于编辑模式时,“编辑”按钮被替换为两个按钮:“更新”按钮和“取消”按钮。您可指定按钮的文字(标题)。

ButtonColumn 元素可以包含任意按钮。使用 ButtonColumn 元素,您可以定义某种预定义的功能(例如,选择行或删除行),或创建您自己的功能按钮。

当为按钮列定义按钮时,指定按钮的文字(标题)和按钮类型(LinkButton 或 Button)。另外,对于 ButtonColumn 元素中的按钮,请指定特殊的 CommandName 属性。此属性的设置可决定单击该按钮时发生的结果。例如:

设置结果
选择
单击此按钮可自动选择行。
删除
单击此按钮可引发 DataGrid 控件的 DeleteCommand。
自定义(非预定义的)值单击此按钮可引发 DataGrid 控件的一般 ItemCommand。
注意[/b]   CommandName 属性的设置是区分大小写的。

大多数情况下,单击按钮都会引发事件,随后您可以处理该事件。(如果 CommandName 属性设置为“选择”,则会引发“选择”事件,但网格会自动处理该事件,以选择指定的行。)通常,您要在处理程序中确定受到影响的行和相应的操作,例如,将该行设置为编辑模式(或取消该设置),删除该网格行表示的数据行,等等。对于自定义按钮,网格会引发 ItemCommand 事件并将 CommandName 属性的值作为 EventArgs 对象的一部分传递。

有关在 Visual Studio Web 窗体设计器中创建按钮列的详细信息,请参见“向 DataGrid Web 服务器控件添加按钮列”。有关创建按钮列的详细信息,请参见 DataGrid Web 服务器控件。

有关按钮列功能的实现,请参见以下主题:

允许用户编辑 DataGrid Web 服务器控件中的项

允许用户选择 DataGrid Web 服务器控件中的项

允许用户删除 DataGrid Web 服务器控件中的项

超级链接列

超级链接列(HyperLinkColumn 元素)显示各行中的链接。您可以为超级链接指定静态文本,也可以从数据列中导出链接的文本。同样,您可以指定一个静态 URL 作为链接的目标,或者从数据源中获取 URL。

有关在 Visual Studio Web 窗体设计器中创建超级链接列的详细信息,请参见向 DataGrid Web 服务器控件添加超级链接列。有关创建按钮列(以 HTML 元素的形式)的详细信息,请参见 DataGrid Web 服务器控件。

模板列

模板列允许您任意混合控件和静态文本,以此为基础为列创建自定义布局。模板列与用于 DataListRepeater 控件的模板类似,不同之处在于,您只是要为列(而不为类似行的项)创建布局。有关模板的详细信息,请参见 Web 服务器控件模板

模板列可以让您完全控制列的内容,因此您可以非常灵活地进行列布局。一些实例包括:

您可很容易地混合静态文本和控件。

您可指定在编辑模式下使用的控件。当绑定列处于编辑模式时,不管正在编辑什么类型的数据,它都会显示一个文本框。通过使用模板控件,您可指定复选框、下拉列表,或其他适当的控件。

在模板列内,您最多可以创建四种不同的模板类型:

HeaderTemplate 和 FooterTemplate 分别定义将在列标头和列脚注中显示的内容。

ItemTemplate 定义当行处于显示模式时列中信息的显示形式。您会经常添加控件(例如,Label 控件或 Literal 控件)来显示数据。

EditItemTemplate 定义了当列处于编辑模式时在列中出现的控件(如果适用,还有文本),通常包括文本框、复选框和下拉列表。

有关在 Visual Studio Web 窗体设计器中创建模板列的详细信息,请参见向 DataGrid Web 服务器控件中添加模板列。有关创建模板列(以 HTML 元素的形式)的详细信息,请参见 DataGrid Web 服务器控件。
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: