0

这是关于 GridView 控件的。我创建了一个手动指定列(通过编码)的列,但是当我运行项目时,我得到的列比代码中指定的多。

这是代码:

<asp:GridView ID="GridView1" runat="server" DataKeyNames="cid" 
        onrowcancelingedit="GridView1_RowCancelingEdit" 
        onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing" 
        onrowupdating="GridView1_RowUpdating">
    <Columns>
        <asp:BoundField DataField="name" HeaderText="Category name" 
            SortExpression="name" />

        <asp:BoundField DataField="description" HeaderText="Category description" 
            SortExpression="description" />

        <asp:HyperLinkField DataNavigateUrlFields="cid" 
            DataNavigateUrlFormatString="AdminCategories.aspx?CategID={0}" 
            HeaderText="See categories" Text="See Categories" />

        <asp:CommandField ShowEditButton="True" EditText="Edit" HeaderText="Edit Categories"/>

        <asp:ButtonField CommandName="Delete" Text="Delete" HeaderText="Delete Categories"/>
    </Columns>
</asp:GridView>

结果,当我运行项目时,我在 GridView 中得到以下标题:

类别名称 | 分类说明 | 查看类别 | 编辑类别 | 删除类别 | 姓名 | 描述

共7列。但是,如果您检查代码,则代码中仅包含前 5 列。那么为什么最后两列会出现,我该如何删除它们呢?

谢谢!

安娜

4

1 回答 1

2

您应该将 gridview 的 AutoGenerateColumns 属性设置为 false ,因为您还没有自动生成最后两列!用这种方式重写你的代码:

<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" DataKeyNames="cid"   
    onrowcancelingedit="GridView1_RowCancelingEdit"   
    onrowdeleting="GridView1_RowDeleting" onrowediting="GridView1_RowEditing"   
    onrowupdating="GridView1_RowUpdating">  
<Columns>  
    <asp:BoundField DataField="name" HeaderText="Category name"   
        SortExpression="name" />  

    <asp:BoundField DataField="description" HeaderText="Category description"   
        SortExpression="description" />  

    <asp:HyperLinkField DataNavigateUrlFields="cid"   
        DataNavigateUrlFormatString="AdminCategories.aspx?CategID={0}"   
        HeaderText="See categories" Text="See Categories" />  

    <asp:CommandField ShowEditButton="True" EditText="Edit" HeaderText="Edit Categories"/>  

    <asp:ButtonField CommandName="Delete" Text="Delete" HeaderText="Delete Categories"/>  
</Columns>  

于 2012-06-10T11:00:22.177 回答