1

ASP.NET Gridview 与动态网格上的链接按钮列

ASP.NET Gridview 应该有一个链接的列 - 第一列,当单击时应该使用单击的单元格值转到另一个页面。网格是动态的,即列不是固定的,列/列本身不是动态的。我只为第一列添加了一个 asp 控件,其余列是动态的,在后面的代码中,我总是添加第一列“链接按钮”。

<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 时,它会出现两次,一次用于模板字段,一次来自数据表绑定。gridview.column().visible=false 不起作用,因为它认为链接按钮是唯一的列而不是数据表列。

我试图从该代码后面的代码中添加 Linkbutton 控件也不起作用。

4

1 回答 1

1

我会将 autogeneratecolumns 设置为 false,然后使用 asp:BoundFields 来显示数据表中的列,而不是使用 asp:TemplateField 处理的链接按钮。

然后,您可以使用 GridView.Columns().Visible 隐藏/显示不同的列。

您无法将 GridView.Columns().Visible 与自动生成的列一起使用,因为它们未添加到 Columns()

显式声明的列字段可以与自动生成的列字段结合使用。当两者都使用时,首先呈现显式声明的列字段,然后是自动生成的列字段。自动生成的列字段不会添加到 Columns 集合中。

于 2012-12-21T02:11:24.040 回答