asp:GridView EmptyData行有错误的colspan
本文关键字:有错误 colspan EmptyData GridView asp | 更新日期: 2023-09-27 18:26:31
我有下面的网格视图。没有错误,但当我使用w3c验证器验证页面时,并且不存在任何行,colspan属性将获得gridview中已定义列数的值。当不存在行时,我们有没有可能让gridview删除colspan属性?
<asp:GridView ID="gv1" AutoGenerateColumns="False" ShowFooter="true" runat="server"
AllowSorting="true" AllowPaging="true" CssClass="gridview" OnDataBound="gv_DataBound"
OnRowDataBound="gv_RowDataBound" DataKeyNames="id" CellSpacing="-1" GridLines="None"
EmptyDataText="no reference substances linked!">
<Columns>
<asp:HyperLinkField DataTextField="name" HeaderText="reference substance" DataNavigateUrlFormatString="~/ReferenceSubstances/{0}.aspx"
DataTextFormatString="{0}" Target="_self" DataNavigateUrlFields="id" SortExpression="name" />
<asp:BoundField DataField="supplier" HeaderText="supplier" SortExpression="supplier" />
<asp:BoundField DataField="supplier_code" HeaderText="supplier code" SortExpression="supplier_code" />
<asp:BoundField DataField="lot" HeaderText="lot" SortExpression="lot" />
</Columns>
<PagerStyle CssClass="footer" />
<PagerTemplate>
<asp:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>
当gridview没有记录时,请添加ShowHeaderWhenEmpty="true"属性以显示空数据文本。抱歉,如果不是你在问
<asp:GridView ID="gv1" ShowHeaderWhenEmpty="true" etc
听起来你需要一个EmptyDataTemplate
:
<asp:GridView ...
<EmptyDataTemplate>
render any markup
</EmptyDataTemplate>
</asp:GridView>
用任何w3c兼容的标记替换render any markup
。
尝试这个
<asp:GridView ID="gv1" AutoGenerateColumns="False" ShowFooter="true" runat="server"
AllowSorting="true" AllowPaging="true" CssClass="gridview" OnDataBound="gv_DataBound"
OnRowDataBound="gv_RowDataBound" DataKeyNames="id" CellSpacing="-1" GridLines="None"
>
<EmptyDataTemplate>
no reference substances linked!
</EmptyDataTemplate>
<Columns>
<asp:HyperLinkField DataTextField="name" HeaderText="reference substance" DataNavigateUrlFormatString="~/ReferenceSubstances/{0}.aspx"
DataTextFormatString="{0}" Target="_self" DataNavigateUrlFields="id" SortExpression="name" />
<asp:BoundField DataField="supplier" HeaderText="supplier" SortExpression="supplier" />
<asp:BoundField DataField="supplier_code" HeaderText="supplier code" SortExpression="supplier_code" />
<asp:BoundField DataField="lot" HeaderText="lot" SortExpression="lot" />
</Columns>
<PagerStyle CssClass="footer" />
<PagerTemplate>
<asp:GridViewPager ID="GridViewPager1" runat="server" />
</PagerTemplate>
</asp:GridView>