动态网格上带有链接按钮列的ASP.NET Gridview
ASP.NET Gridview应该有一个链接列 - 第一列,单击时应该带到单击单元格值的另一个页面。网格是动态的,即列不固定,列/列本身没有动态。我为第一列添加了一个asp控件,剩下的列是动态的,在后面的代码中我总是添加第一列“linkbutton”。
<Columns>
<asp:TemplateField HeaderText="linkbutton">
<ItemTemplate>
<asp:LinkButton ID="linkbutton" runat="server" Text='<%#EVal("linkbutton") %>'
CommandName="ShowDetails" CommandArgument='<%#Eval("linkbutton") %>'>
</asp:LinkButton>
</ItemTemplate>
</asp:TemplateField>
</Columns>
linkbutton是数据表的一部分,所以当我将数据表绑定到gridview时,它会出现两次,一次是templatefield,一次是数据绑定。 gridview.column()。visible = false没有工作,因为它认为linkbutton是唯一的列而不是数据表列。
我试图从代码后面添加Linkbutton控件,但也没有用。
答案 0 :(得分:1)
我会将autogeneratecolumns设置为false,然后使用asp:BoundFields来显示数据表中的列,而不是使用asp:TemplateField处理的linkbutton。
然后您可以使用GridView.Columns()。可见隐藏/显示不同的列。
您无法使用GridView.Columns()。自动生成的列可见,因为they are not added to Columns():
明确声明的列字段可以与。结合使用 自动生成的列字段。两者都明确使用时 声明的列字段首先呈现,然后是 自动生成的列字段。自动生成的列 字段未添加到Columns集合。