我正在尝试对asp:gridview进行硬编码并从数据库中检索一列并将其显示在网格视图上。 但是当我显示时,它给了我2列,其中第一列只是虚拟,另一列是我要显示的实际数据。
我写的代码在这里:
<asp:gridview ID="gvEmpnames" runat="server" BackColor="#DEBA84" BorderColor="#DEBA84"
BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2">
<Columns>
<asp:TemplateField>
<HeaderTemplate><asp:Label runat="server" ID="lblHeaderText" Text="EmpID" /></HeaderTemplate>
<ItemTemplate><asp:Label runat="server" ID="lblHeaderText" Text='<% eval("eid") %>' /></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
答案 0 :(得分:0)
您必须将AutoGenerateColumns设置为false(默认为true)。
<asp:gridview ID="gvEmpnames" runat="server" BackColor="#DEBA84" BorderColor="#DEBA84"
BorderStyle="None" BorderWidth="1px" CellPadding="3" CellSpacing="2" AutoGenerateColumns="False">
<Columns>
<asp:TemplateField>
<HeaderTemplate><asp:Label runat="server" ID="lblHeaderText" Text="EmpID" /></HeaderTemplate>
<ItemTemplate><asp:Label runat="server" ID="lblHeaderText" Text='<% eval("eid") %>' /></ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:gridview>
答案 1 :(得分:0)
首先,关注最佳实践,我建议您将布局项与代码分开。 Gridview生成一个表,用CSS布局该表。
(在border-width
中,您不需要使用“px”,因为ASP控件中包含宽度单位的所有属性)
其次,您的gridview核心代码可以得到改进,为您提供更多的可读性和对代码的理解(可维护性)。
最后,在Gridviews中显示不需要的额外行的常见错误是忘记隐藏自动生成的列。
<asp:gridview ID="gvEmpnames" runat="server" CssClass="grid"
AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="eid" HeaderText="EmpID" />
</Columns>
</asp:gridview>