有没有一种方法可以在不将其放入div的情况下制作一个可滚动的网格视图



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

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

<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读作table

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

既然你只想垂直滚动,试试这个:

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

编辑:

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

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

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

相关内容

  • 没有找到相关文章

最新更新