我正在尝试构建一个带有分页的GridView,它符合WCAG 2.0。 GridView将渲染一个额外的行,其中一个单元格具有表格总列数的colspan,并且在其中包含一个子表格。我不认为这符合WCAG 2.0,因为在我看来,分页不是表中数据的一部分。因此,它不应该在GridView中连续排列。
现在有人可以利用GridView的功能并且仍然在表格元素之外使用Pager吗?
到目前为止,我发现我可以像这样指定PagerTempalte(为了显示标记,寻呼机无法正常工作):
<form id="form1" runat="server">
<h1>Gridview with pager</h1>
<asp:GridView ID="CustomerView" DataSourceID="CustomersData" AutoGenerateColumns="true"
AllowPaging="true" runat="server">
<PagerSettings Position="Bottom" />
<PagerStyle ForeColor="Blue" BackColor="LightBlue" />
<PagerTemplate>
<asp:Label ID="MessageLabel" Text="Select a page:" runat="server" />
<asp:DropDownList ID="PageDropDownList" runat="server">
<asp:ListItem>1</asp:ListItem>
<asp:ListItem>2</asp:ListItem>
<asp:ListItem>3</asp:ListItem>
</asp:DropDownList>
</PagerTemplate>
</asp:GridView>
<asp:SqlDataSource ID="CustomersData" SelectCommand="Select [CustomerID], [CompanyName], [Country] From [Customers]"
ConnectionString="<%$ ConnectionStrings:NorthWindConnectionString%>" runat="server" />
</form>
但是,此PageTemplate仅影响寻呼机本身的标记。它仍然会在一个tr的td内呈现,并且colspan =“列数”。