.NET DataGrid コントロールには、データ ソースが変更された直後にバインドされたデータ項目ごとに 1 回発生する AutoGeneratingColumn イベントがあります。次のように、テンプレートで特定の列を定義できるため、これは便利です。
<Columns>
<asp:HyperLinkField DataNavigateUrlFields="ID" DataNavigateUrlFormatString="ww{0}" DataTextField="ID" DataTextFormatString="{0}" HeaderText="ID" />
</Columns>
次に、列がデータ ソースから自動生成されるときに、同じ列が複製されないようにします。この例では、ID 列が次のように自動生成されないようにすることができます。
Private Sub DG_AutoGeneratingColumn(ByVal sender As Object, ByVal e As DataGridAutoGeneratingColumnEventArgs)
Dim headername As String = e.Column.Header.ToString()
If headername = "ID" Then
e.Cancel = True
End If
End Sub
私の質問は、GridView コントロールで同様の機能を実現できるかどうかです。
詳細
gridview のデータ ソースは DataTable オブジェクトであり、次のようにバインドしています。
GridView1.DataSource = results.Tables("Vitals")
GridView1.DataBind()
DataTable の列数はさまざまであるため、AutoGenerateColumns を使用すると非常に便利です。