1

我知道可以通过将gridview包含在div中并将溢出设置为自动来使其可滚动。但是我正在使用表格来对齐我的页面,并发现将 div 放在 td 内不一定是一个好主意,那么还有其他方法吗?

4

2 回答 2

0

你可以使用这个库。它跨浏览器并无缝工作。滚动网格

<yourNameSpace:ScrollingGrid runat="server" ID=sg1 
       Width=450 Height=240 CssClass=sgTbl>

    <asp:DataGrid runat="server" ID=Grid2 CellPadding=5 CellSpacing=1
      AutoGenerateColumns=True AllowSorting=True 
      AllowPaging=True PageSize=35>
        <HeaderStyle BackColor=red ForeColor=white Font-Bold=True />
        <ItemStyle BackColor=#fefefe />
        <AlternatingItemStyle BackColor=#eeeeee />
        <PagerStyle BackColor=silver ForeColor=White 
                    Mode=NumericPages />
    </asp:DataGrid>

  </yourNameSpace:ScrollingGrid>

这将自动使您的 gridview 可以使用固定标题滚动。

于 2013-02-20T04:17:35.063 回答
0

就像gridview读者一样table

尝试使用overflowCSS 属性。还有单独的属性来定义水平溢出 ( overflow-x) 和垂直溢出 ( overflow-y) 的行为。

由于您只想要垂直滚动,请尝试以下操作:

table {
  height: 500px;
  overflow-y: scroll;
}

编辑:

显然<table>元素不尊重该overflow属性。这似乎是因为默认情况下<table>不呈现元素display: block(它们实际上有自己的显示类型)。您可以通过将元素设置为块类型来强制overflow属性工作:<table>

table {
  display: block;
  height: 500px;
  overflow-y: scroll;
}

请注意,这将导致元素具有 100% 的宽度,因此如果您不希望它占据页面的整个水平宽度,您还需要为元素指定一个显式宽度。

于 2013-02-20T04:34:42.820 回答