65.9K
CodeProject 正在变化。 阅读更多。
Home

动态 Gridview 列

starIconstarIconstarIcon
emptyStarIcon
starIcon
emptyStarIcon

3.21/5 (9投票s)

2008 年 4 月 8 日

CPOL
viewsIcon

75980

一个非常简单的文章,展示如何在运行时向 GridView 添加列。

引言

有时您需要动态地向 GridView 添加列。 在本文中,我将向您展示如何以非常简单的步骤来完成此操作。

背景

这段代码只会展示如何在运行时在 GridView 中创建列,我不会展示如何获取数据源;您应该已经知道如何做到这一点。

使用代码

假设您有一个查询,并且想要在 GridView 中显示结果。 例如

SELECT UName,UAddress,Uphone From MyTable

GridView 中,如果 AutoGenerateColumns 设置为 True,您将获得与查询中的列名相同的列名。

首先,您需要将 AutoGenerateColumns 设置为 False

GridView1.AutoGenerateColumns = False 

然后创建绑定字段

Dim Field As New BoundField

然后,在其中选择数据字段和标题文本

Field.DataField = "UName"
Field.HeaderText = "User Name"

现在,创建一个 DataControlField 并将其分配给绑定字段。

Dim Col As DataControlField = Field

然后,将其添加到 GridView

GridView1.Columns.Add(Col)

新列已添加。 现在,您想要添加新列,并且需要将新资源定义如下

Field = New BoundField

重复之前的步骤。 整合起来

GridView1.AutoGenerateColumns = False
Dim Field As New BoundField
Field.DataField = "UName"
Field.HeaderText = "User Name"
Dim Col As DataControlField = Field
GridView1.Columns.Add(Col)

Field = New BoundField
Field.DataField = "UAddress"
Field.HeaderText = "User Address"
Col = Field
GridView1.Columns.Add(Col)

Field = New BoundField
Field.DataField = "UPhone"
Field.HeaderText = "User Phone Number"
Col = Field

GridView1.Columns.Add(Col)
GridView1.DataBind()

希望这篇文章对您有所帮助。

© . All rights reserved.