我走出我會怎麼做,我認爲會爲你工作,以及(我打造一批jqGrids的一個MVC3後端。
你已經擁有HTML組件,或者你可以使用這樣的事情。
<div id="ExampleGridContainer" >
<table id="ExampleGridName" class="scroll" cellpadding="0" cellspacing="0" ></table>
<div id="ExampleGridPager" class="scroll" style="text-align:center;"></div>
</div>
那麼對於你的Javascript,您將需要包括雙方的引用(在這個例子中,我「米使用英語作爲我的位置)
<script src="@Url.Content("~/Scripts/trirand/i18n/grid.locale-en.js")" type="text/javascript"></script>
<script src="@Url.Content("~/Scripts/trirand/jquery.jqGrid.min.js")" type="text/javascript"></script>
你能我nclude此頁面上,如果它是的或在您的_Layout.chtml
然後你可以在本例中建立類似的財產以後
<script type="text/javascript">
$(document).ready(function() {
//initalize jqGrid
$('#ExampleGridName').jqGrid({
datatype: 'json',
url: '/ControllerName/ActionName',
colNames: [ 'ColumnOneName', 'ColumnTwoName']
colModel: [
{ name: 'ColumnOneName', //etc}
{ name: 'ColumnTwoName', //etc}
],
pager: $('#ExampleGridPager'),
rowNum: 5,
rowList: [5,10,20],
sortname: 'ColumnOneName',
//etc
//rest of grid settings
});
});
</script>
現在上面的datatype: 'json'
認爲你的腳本部分內的一個,並在顯示視圖並處理就緒事件時填寫url:
屬性,您的網格將出現到URL並查找數據。如果您想在稍後進行另一個操作,或者動態重複此操作,則可以使用datatype: 'local',
和url:
屬性開始。
當談到時間來設置這些屬性,並重新加載網格,你要麼:
//set the `datatype:` and `url:` properties and load the grid
$('#ExampleGridName').jqGrid('setGridParam', { datatype: 'json', url: '/ControllerName/ActionName' }).trigger('reloadGrid', [{ page: 1}]);
//reload the grid if the `datatype:` and `url:` properties are already configured
$('#ExampleGridName').jqGrid().trigger('reloadGrid', [{ page: 1}]);
在你的控制器,你將有一個行動,將能夠爲數據的請求作出反應,併產生結果以JSON格式。這決不是任何超出如何使用動態加載的MVC3 jqGrid啓動和運行的基本示例,還有更多高級過濾,搜索等選項。
public ActionResult ActionName(string sidx, string sord, int page, int rows, bool _search, string filters)
{
//load data from somthing,
IQuerable<Object> results = database.getresults //whatever you want to populate a set of data really
int totalRecords = results.Count();
var pagedResults = results.OrderBy(sidx + " " + sord).Skip((page -1) * rows).Take(rows);
var jsonData = new
{
total = (totalRecords + rows - 1)/rows,
page = page,
records = totalRecords,
rows = (
from tempValue in pagedResults.ToList()
select new
{
cell = new string[] {
tempValue.ColumnOneValue,
tempValue.ColumnTwoIntValue.ToString(),
//Etc
}).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}//ActionName
這將是一個非常基本的方式來顯示一個jqGrid,然後在其他動作/事件後動態地與它交互。 enter code here
您的例子是使用JavaScript的jqGrid。我試圖使用Jqgrid的MVC版本。如上所示 – superartsy