【问题标题】:ASP.NET Gridview row namesASP.NET Gridview 行名
【发布时间】:2015-03-04 21:35:25
【问题描述】:

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

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

<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 是否能满足我的需要

【问题讨论】:

  • 详细信息视图默认执行此操作。这是一个 2 列的“网格”,其中第 1 列是列名的“列表”,第 2 列是相关数据。
  • 感谢您如此迅速和乐于助人的回答,但我根据您的回答尝试了此操作。详细信息视图仅允许两列,因此您不能单独让 HC1 将名字添加到一列,最后添加到另一列,然后将地址添加到另一列,等等。网上有关于一起使用 gridview 和 detailsview 的东西,这似乎是完美的解决方案但每次我尝试它只是在gridview下放一个detailsview所以我想我对如何一起使用它们有点困惑
  • 您可以添加一个未绑定的模板字段,为其添加标签,并在 Gridview 数据绑定事件循环中通过blah.Columns 并从每列中获取 HeaderText 以填充未绑定模板字段中的标签。

标签: asp.net gridview datarow


【解决方案1】:

将未绑定的模板字段添加到 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 事件中循环遍历列标题并为每一行填充列名

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

【讨论】:

  • 这适用于标记行和限制字段,谢谢
猜你喜欢
  • 2012-03-17
  • 2013-08-08
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2012-06-16
  • 1970-01-01
  • 2022-01-12
  • 2013-03-28
相关资源
最近更新 更多