我正在尝试将数据表绑定到gridview,在那里我删除了后面代码中的一些自动生成的列。
我有两个模板列,似乎当我在后面的代码中更改gridview并删除非模板列时,模板会松开其中的控件。
使用以下作为样本,“标题A”将继续可见,但删除位于索引2及以上的任何columsn后,“标题B”将消失。我正在我的代码隐藏中为网格创建列,作为报告工具的一部分。如果我不删除列,那么似乎没有问题。
<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
修改
所以从我读过的内容来看,这似乎是网格改变时出现的问题。有没有人知道重新初始化模板列或重新设置它们的好方法,这样当删除非模板列时,模板也不会被删除?
答案 0 :(得分:0)
您是否需要GridView才能拥有ViewState?尝试关闭ViewState。
<asp:GridView ID="DataGrid1" runat="server" AutoGenerateColumns="false" AllowPaging="True" PageSize="10" GridLines="Horizontal" EnableViewState="false">
答案 1 :(得分:0)
他用visibile=false
解决了。
在databind .net上不会关联值,也不要在html页面上创建它们