MVC 2とエンティティフレームワークでjqGridを実装するプロセスが進行中です。私は、ページング/ソートとCRUDのやりとりを組み合わせた複数の検索機能を利用したいと考えています。グリッドは2つのテーブルで構成されるため、検索機能でも関連するテーブルを検索できる必要があります。私は現在、ページング/ソートをダウンさせるだけでなく、クライアント側でコントローラ側で必要なすべての検索フィルタを返すようにしています。私は、ページング/ソートと関連するテーブル検索をサポートしながら、エンティティフレームワークに対してさまざまな検索演算子をすべて実装する方法の例を探しています。Asp.Net MVC 2 - jqgrid複数検索の例
私の現在のクライアント側のスクリプト:
$(document).ready(function() {
$('#grid').jqGrid({
colNames: ['TypeId', 'Type', 'CR Active', 'Category'],
colModel: [
{ name: 'TYPE_ID', index: 'TYPE_ID', hidden: true, search: false },
{ name: 'TYPE', index: 'TYPE', sortable: true, hidden: false },
{ name: 'CR_ACTIVE', index: 'CR_ACTIVE', align: 'right', sortable: true, hidden: false },
{ name: 'description', index: 'description', align: 'right', sortable: true, hidden: false }
],
pager: jQuery('#pager'),
sortname: 'TYPE',
rowNum: 10,
rowList: [10, 20, 50],
sortorder: "asc",
width: 600,
height: 250,
datatype: 'json',
caption: 'Available Types',
viewrecords: true,
mtype: 'GET',
jsonReader: {
root: "rows",
page: "page",
total: "total",
records: "records",
repeatitems: false,
userdata: "userdata"
},
url: "/Type/GetData"
}).navGrid('#pager', { view: false, del: true, add: true, edit: true },
{}, // default settings for edit
{}, // default settings for add
{}, // delete instead that del:false we need this
{closeOnEscape: true, multipleSearch: true, closeAfterSearch: true }, // search options
{} /* view parameters*/
);
});
マイコントローラ:iは、ソート/すべての私のページングを取得していますとそう
[ModelBinder(typeof(GridModelBinder))]
public class GridSettings
{
public bool IsSearch { get; set; }
public int PageSize { get; set; }
public int PageIndex { get; set; }
public string SortColumn { get; set; }
public string SortOrder { get; set; }
public Filter Where { get; set; }
}
:
public JsonResult GetData(GridSettings grid)
{
using (IWE dataContext = new IWE())
{
var query = from host in dataContext.LKTYPE
select new
{
TYPE_ID = host.TYPE_ID,
TYPE = host.TYPE,
CR_ACTIVE = host.CR_ACTIVE,
description = host.VWEPICORCATEGORY.description
};
////sorting
query = query.OrderBy(grid.SortColumn, grid.SortOrder);
//count
var count = query.Count();
//paging
var data = query.Skip((grid.PageIndex - 1) * grid.PageSize).Take(grid.PageSize).ToArray();
//converting in grid format
var result = new
{
total = (int)Math.Ceiling((double)count/grid.PageSize),
page = grid.PageIndex,
records = count,
rows = data.ToArray()
};
return Json(result, JsonRequestBehavior.AllowGet);
}
}
GridSettingsは次のように定義されますクライアントからの検索句を返します。
誰かがこれを達成するための良い例があれば、私はそれを感謝します。コードプロジェクトの例を紹介しましたが、可能な検索演算子の例がいくつかあります。グリッド関連テーブル(http://www.codeproject.com/script/Articles/ArticleVersion.aspx?aid=58357&av=73016)の検索をサポートしているようには見えません。このサイトは良い例を持っていますhttp://www.trirand.com/blog/jqgrid/jqgrid.htmlしかし、サーバーサイドのものはPHPとMySQLで行われます。私はこの時点でそれについて多くは分かっていませんが、私が必要とすることがあれば、ローカル検索も可能です。事前に
おかげで、これはものと同じ種類のを探して誰に役立つはず
このトピックに関する私の一連の記事を読む:http://blogs.teamb.com/craigstuntz/2009/04/14/38200/ –
クレイグ、私は実際にあなたの記事を見て、それらの多くから得た。共有していただきありがとうございます!しかし、私はあなたが上記のリンクで見たようなjqGridのMuliSearch機能の例を見ていませんでした。私は何か見落としてますか?あなたの時間をありがとう。 –