ASP.NET 网格视图行名称

ASP.NET Gridview row names

我在 ASP.Net Web 控件中使用 gridview,我已经分配了列并且总是有 6 行 HC1、HC2、AC1、AC2、AC3 和 AC4。我想用六行初始化 Gridview,并让左列成为这些行名称,即使在单击该行时将 DataRow 设置为编辑,这些行名称也将保持只读状态。以这种方式命名行可能吗?如果没有,是否有更好的工具可用于此目的,还是我必须发挥创意?

另外,如果这里有帮助的话,html 创建 gridview 的代码:

<asp:GridView ID="blah" AutoGenerateColumns="False" runat="server" Width="540px">
 <Columns>
    <asp:TemplateField></asp:TemplateField>
    <asp:TemplateField HeaderText="Name"></asp:TemplateField>
    <asp:TemplateField HeaderText="Email"></asp:TemplateField>
    <asp:TemplateField HeaderText="Phone"></asp:TemplateField>
    <asp:TemplateField HeaderText="Address"></asp:TemplateField>
    <asp:TemplateField HeaderText="City"></asp:TemplateField>
    <asp:TemplateField HeaderText="State"></asp:TemplateField>
    <asp:TemplateField HeaderText="Zip"></asp:TemplateField>
</Columns>
</asp:GridView>

我还没有写他的代码,因为我不确定这个 gridview 是否会做我需要的

将未绑定的模板字段添加到 gridview 并填充标签:

<asp:GridView ID="blah" runat="server" >
  <Columns>
    <asp:TemplateField>
      <ItemTemplate>
        <asp:Label ID="lblColumnName" runat="server" Text="Label"></asp:Label>
      </ItemTemplate>
    </asp:TemplateField>

    ...   (rest of fields)

  </Columns>
</asp:GridView>

然后在 Gridview Databound 事件循环中遍历列 headers 并为每一行填充列名

Private Sub blah_DataBound(sender As Object, e As EventArgs) Handles blah.DataBound
  For i As Integer = 1 To GridView1.Columns.Count - 1
    lbl = CType(GridView1.Rows(i - 1).FindControl("lblColumnName"), Label)
    lbl.Text = GridView1.Columns(i).HeaderText
  Next
End Sub