如何在表元素外部创建GridView渲染的Pager?

时间:2013-07-24 09:35:47

标签: asp.net gridview webforms

我正在尝试构建一个带有分页的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 =“列数”。

0 个答案:

没有答案