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