(ASP.NET WebForms の GridView のようなものと理解している)
ページングが簡単にできるのがいいと思った。
chtmlファイルのおれおれサンプル
@model IList<MvcApplication1.Models.SchoolViewModel>
@{
ViewBag.Title = "Index";
Layout = "~/Views/Shared/_Layout.cshtml";
// WebGridオブジェクト生成
var grid = new WebGrid(source:Model, rowsPerPage: 3);
}
<h2>Index</h2>
@* WebGridオブジェクトでレンダリング *@
@grid.GetHtml(
columns: grid.Columns(
grid.Column("Grade", "学年")
, grid.Column("Class", "クラス")
, grid.Column("Name", "名前")
)
)
WebGridオブジェクトのコンストラクタに rowsPerPage(1ページに表示するデータ数)を
指定するとページングできるようになる。
WebGridが生成するページングのリンクURLにはGETパラメータが付加されていて
それによって現在のページを把握しているようだ。
※表の見た目等はGetHtml()の引数で変えられる
WebGridにソースとして100件のデータを渡しても
例えば1ページ10件ごとの設定なら当然ながら10件分のデータしか表示されない。
実際ページの表示に使うデータだけをDBから取得して
WebGridでページングを行うにはどうすればよいのか?
下記のサイトにやり方が書いてあるっぽい。
http://msdn.microsoft.com/ja-jp/magazine/hh288075.aspx
でも今日は疲れたのでまた今度やる!(ヘタレ)
0 件のコメント:
コメントを投稿