3

我正在尝试将数据表绑定到网格视图,在该网格视图中删除了后面代码中的一些自动生成的列。

我有两个模板列,似乎当我在后面的代码中更改 gridview 并删除非模板列时,模板会失去其中的控件。

使用以下示例,“标题 A”将继续可见,但“标题 B”将在删除位于索引 2 及以上的任何列后消失。我正在我的代码隐藏中为网格创建列,作为报告工具的一部分。如果我不删除列,那么似乎没有问题。

<asp:GridView ID="DataGrid1" runat="server" AutoGenerateColumns="false" AllowPaging="True" PageSize="10" GridLines="Horizontal">
    <Columns>
        <asp:TemplateField HeaderText="Header A"  >
            <ItemTemplate >
                  Text A
            </ItemTemplate>
        </asp:TemplateField>
        <asp:TemplateField>
            <HeaderTemplate>
                      Header B
            </HeaderTemplate>
            <ItemTemplate>
                      Text B
            </ItemTemplate>
        </asp:TemplateField>
    </Columns>
</asp:GridView>

For i = 2 To DataGrid1.Columns.Count - 1
      DataGrid1.Columns.RemoveAt(2)
Next

编辑

因此,从我所读到的内容来看,这似乎是在更改网格时出现的问题。有谁知道重新初始化模板列或重新设置它们的好方法,以便在删除非模板列时也不会删除模板列?

4

2 回答 2

1

您是否需要 GridView 才能拥有 ViewState?尝试关闭 ViewState。

<asp:GridView ID="DataGrid1" runat="server" AutoGenerateColumns="false" AllowPaging="True" PageSize="10" GridLines="Horizontal" EnableViewState="false">    
于 2009-09-09T21:25:25.943 回答
0

嗨解决了visibile=false。在 databind .net 上不会关联值,也不会在 html 页面上创建它们

于 2020-09-02T12:31:57.967 回答