2

我正在尝试构建一个符合 WCAG 2.0 的带有分页的 GridView。GridView 将呈现一个额外的行,其中包含一个单元格,该单元格的列跨度为表的总列数,其中包含一个子表。我认为这不符合 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 仅影响寻呼机​​本身的标记。它仍将在 colspan="number of columns" 的 tr 的 td 内呈现。

4

0 回答 0