动态 Gridview 列






3.21/5 (9投票s)
一个非常简单的文章,展示如何在运行时向 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()
希望这篇文章对您有所帮助。