C# 为什么Asp:GridView中存在不需要的重复列和额外列?
我试图使用ASP:GridView控件在我的网页上显示一些详细信息。因此,我添加了需要显示的列。但是,每个列在GridView中显示两次(图)。 按后端代码排列如下:C# 为什么Asp:GridView中存在不需要的重复列和额外列?,c#,asp.net,visual-studio,gridview,C#,Asp.net,Visual Studio,Gridview,我试图使用ASP:GridView控件在我的网页上显示一些详细信息。因此,我添加了需要显示的列。但是,每个列在GridView中显示两次(图)。 按后端代码排列如下: objVendor = client.GetAllVenorsForPCMS(); if (objVendor.Count > 0) { gvVendorsDetails.DataSource = objVendor; gvVendorsD
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>
我只添加了一次列,但是为什么结果列会显示两次 这样做的一个常见原因是,您还将属性设置为true(这是默认设置)。 通过将属性设置为false,将生成的列限制为您明确指定的列 i、 e.这样解决这个问题:
<asp:GridView ID="gvVendorsDetails" runat="server"
CssClass="mGrid" AutoGenerateColumns="False">
<Columns> ...
...
是的,我确实从数据库中获取了这些列,但在gridview中,它不是首先尝试将来自数据库的列映射到gridview中设置的列吗??