1

グリッドビューをdiv内に含めてオーバーフローを自動にすることで、グリッドビューをスクロール可能にできることを私は知っています。しかし、テーブルを使用してページを整列させていますが、td 内に div を配置することは必ずしも良い考えではないことがわかりました。他の方法はありますか?

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>

これにより、グリッドビューが固定ヘッダーで自動的にスクロール可能になります。

于 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 に答える