【问题标题】:Why are there unwanted duplicated and extra columns in Asp:GridView?为什么在 Asp:GridView 中有不需要的重复和额外的列?
【发布时间】:2013-06-04 06:23:44
【问题描述】:

我正在尝试使用 ASP:GridView 控件在我的网页上显示一些详细信息。因此,我添加了需要显示的列。但是,每列在 GridView 中显示两次(图片)。

后端代码如下:

objVendor = client.GetAllVenorsForPCMS();

        if (objVendor.Count > 0)
        {

            gvVendorsDetails.DataSource = objVendor;
            gvVendorsDetails.DataBind();

        }

        else
        {
            gvVendorsDetails.DataSource = null;
            gvVendorsDetails.DataBind();
        }

和aspx代码如下:

                <div align="center" style="border: 1px solid;">
                    <asp:GridView ID="gvVendorsDetails" runat="server" CssClass="mGrid">
                        <Columns>
                            <asp:BoundField HeaderText="Vendor ID" DataField="VendorID" Visible="false" />
                            <asp:BoundField HeaderText="Vendor Name" DataField="VendorName" Visible="true" />
                            <asp:BoundField HeaderText="Vendor Description" DataField="VendorDescription" Visible="true" />
                            <asp:BoundField HeaderText="Address" DataField="Address" Visible="true" />
                            <asp:BoundField HeaderText="City" DataField="City" Visible="true" />
                            <asp:BoundField HeaderText="State" DataField="State" Visible="true" />
                            <asp:BoundField HeaderText="Country" DataField="Country" Visible="true" />
                            <asp:BoundField HeaderText="Contact Person" DataField="ContactPerson" Visible="true" />
                            <asp:BoundField HeaderText="Contact No" DataField="ContactNo" Visible="true" />
                            <asp:BoundField HeaderText="ZIP Code" DataField="ZIPCode" Visible="true" />
                        </Columns>
                    </asp:GridView>
                </div>

我只添加了一次列,但是结果列怎么会显示两次! ?

【问题讨论】:

  • 是的,我确实从我的数据库中获取了这些列,但是在 gridview 中,它不是首先尝试将来自数据库的列映射到 Gridview 中设置的列吗??

标签: c# asp.net visual-studio gridview


【解决方案1】:

这样做的一个常见原因是您还将AutoGenerateColumns 属性设置为true(这是默认值)。 通过将该属性设置为 false,将生成的列限制为您明确指定的列。

即像这样解决这个问题:

<asp:GridView ID="gvVendorsDetails" runat="server" 
              CssClass="mGrid" AutoGenerateColumns="False">
     <Columns> ...

【讨论】:

    猜你喜欢
    • 1970-01-01
    • 2014-01-08
    • 2015-08-24
    • 2014-03-26
    • 2013-01-17
    • 1970-01-01
    • 1970-01-01
    • 2022-01-18
    • 2016-02-20
    相关资源
    最近更新 更多