jquery 1.6.2.mins と最新の jqGrid - jqGrid 4.5.4 を使用して jqGrid を表示しようとしています。
私のプロジェクトのセットアップは次のとおりです。ASP.NET - Visual Studio 2010 を使用した MVC2。フレームワークは .Net 4.0 です。
問題: 私の C# クラスでは、ある時点で使用するデータベースからすべての行を追加しています。最初に 2 つの行を表示したいだけです ( NAME
, DESCRIPTION
)。
jqGrid には 2 つの行が表示されますが、[説明] 列に表示されるものを表示する必要がある最初の行に私の ID の行が表示されます。基本的に何が起こっているかというと、行が右にシフトされており、列のマッピングが機能していません。 NAME = 'NAME_TXT'
、しかし、何らかの理由で、ディスプレイに表示されるのはNAME = ID
;
colNames: ['NAME', 'DESCRIPTION'],
colModel: [
{ name: 'NAME', index: 'NAME_TXT', align: 'left' },
{ name: 'DESCRIPTION', index: 'DESCRIPTION_TXT', align: 'left'}
],
また、JSON データが C# コードから返されたものをすべて表示するにはどうすればよいか、 でオブジェクトを表示するにはどうすればよいかなども知りたいconsole.log("JSON DATATYPE: " + $datatype)
です。
ありがとうございました。
JavaScript コード:
$(function () {
$grid = $("#grid");
$grid.jqGrid({
type: 'GET',
contentType: "application/json; charset=utf-8",
url: '/csc/devapp1/Home/LinqGridData/',
datatype: 'json',
colNames: ['NAME', 'DESCRIPTION'],
colModel: [
{ name: 'NAME', index: 'NAME_TXT', align: 'left' },
{ name: 'DESCRIPTION', index: 'DESCRIPTION_TXT', align: 'left'}],
sortname: 'NAME_TXT',
sortorder: "desc",
repeatitems: false,
viewrecords: true,
height: '500px',
autowidth: true});
});
C# コード:
public ActionResult LinqGridData(string sidx, string sord, int page, int rows)
{
var context = new CSCEntities();
var jsonData = new
{
total = 1,
page = page,
records = context.tbl_Quickfix_Toolbar.Count(),
rows = context.tbl_Quickfix_Toolbar.AsEnumerable().Select(n =>
new { n.QUICKFIX_ID,
cell = new string[] {
n.QUICKFIX_ID.ToString(),
n.NAME_TXT.ToString(),
n.DESCRIPTION_TXT.ToString(),
n.INSTRUCTIONS_TXT.ToString(),
n.TYPE_TXT.ToString(),
n.FIXLINK_TXT.ToString()}
}).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}
私が過去に試した他の C# コードは動作しませんでした:
public ActionResult GridData(string sidx, string sord, int page, int rows)
{
CSCEntities entities = new CSCEntities();
int pageIndex = Convert.ToInt32(page) - 1;
int pageSize = rows;
int totalRecords = entities.tbl_Quickfix_Toolbar.Count();
int totalPages = (int)Math.Ceiling((float)totalRecords / (float)pageSize);
var jsonData = new {
total = totalPages,
page = page,
records = totalRecords,
rows = (
from entity in entities.tbl_Quickfix_Toolbar
select new {
id = entity.QUICKFIX_ID,
cell = new string[] {
entity.NAME_TXT.ToString(),
entity.DESCRIPTION_TXT.ToString(),
entity.QUICKFIX_ID.ToString(),
entity.INSTRUCTIONS_TXT.ToString() }
}).ToArray()
};
return Json(jsonData, JsonRequestBehavior.AllowGet);
}