我正在尝试使用 jquery 1.6.2.mins 和最新的 jqGrid - jqGrid 4.5.4 显示 jqGrid。
我的项目设置是:ASP.NET - MVC2 使用 Visual Studio 2010。框架是 .Net 4.0
问题:在我的 C# 类中,我从数据库中添加了我将在某一时刻使用的所有行。我只想显示两行最初(NAME
,DESCRIPTION
)。
jqGrid 显示两行,但它在第一行显示我的 id 行,它应该显示描述列显示的内容。所以基本上发生的事情是,行向右移动,我的列映射不起作用。 NAME = 'NAME_TXT'
,但由于某种原因,我在显示中得到的是NAME = ID
;
colNames: ['NAME', 'DESCRIPTION'],
colModel: [
{ name: 'NAME', index: 'NAME_TXT', align: 'left' },
{ name: 'DESCRIPTION', index: 'DESCRIPTION_TXT', align: 'left'}
],
我还想知道如何显示从 C# 代码返回的 JSON 数据的所有内容,如何在 中显示对象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);
}