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>

asp:GridView EmptyData行有错误的colspan

当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>