我有一个KendoGrid在我看来,由于某种原因,它没有填充,我不知道为什么,所有事情表明它应该,但它不想,也许我错过了什么?
这是事件的顺序......
$(document).ready(function () {
GetCatalogInfo();
})
function GetCatalogInfo() {
$.ajax({
type: "GET",
url: URLParams.GetTheCatalog,
dataType: "json",
contentType: "application/json; charset=utf-8",
success: function (data, textStatus, jqXHR) {
TheCatalogGrid(data);
}
})
}
这是我的网格
function TheCatalogGrid(catalogData) {
$("#CatalogGrid").kendoGrid({
dataSource: {
catalogData
},
columns: [{
field: "GlobalGroupID",
title: "GlobalGroupID",
hidden: true
},
{
field: "GlobalGroupName",
title: "GroupName"
}],
scrollable: true,
sortable: true,
pageable: false,
selectable: "row",
height: 275
})
}
我的控制器看起来像这样
public JsonResult GetCatalog()
{
List<GridCatalog> lst = new List<GridCatalog>();
_Catalog = CatalogObjectFactory.GetCatalog("C:\\ProgramData\\AdvanceWare\\CatalogDLLs", "CabParts", "2015.09.28-22.14.15");
// comment out for debugging catalog with reference to the CatalogsProject
if (_Catalog != null)
{
_GlobalGroupOptions = new GlobalGroupOptions(_Catalog);
var query = from ggo in _GlobalGroupOptions
select new
{
GlobalGroupID = ggo.GlobalGroup.GlobalGroupID,
GlobalGroupLevel = ggo.GlobalGroup.Level,
GlobalGroupName = ggo.GlobalGroup.GlobalGroupName,
IsRequired = (ggo.GlobalGroup.Required == 0) ? "" : "!",
OptionName = ggo.CurrentGlobalOption == null ? "" : (ggo.IsValid ? ggo.CurrentGlobalOption.OptionName : ""),
CurrentOptionID = ggo.CurrentGlobalOption == null ? 0 : ggo.CurrentGlobalOption.OptionID,
InvalidOption = ggo.CurrentGlobalOption == null ? "" : (ggo.IsValid ? "" : ggo.CurrentGlobalOption.OptionName)
};
foreach(var item in query)
{
lst.Add(new GridCatalog
{
GlobalGroupID = item.GlobalGroupID,
GlobalGroupName = item.GlobalGroupName
});
}
}
return Json(lst, JsonRequestBehavior.AllowGet);
}
这是数据类
public class GridCatalog
{
public int GlobalGroupID { get; set; }
public string GlobalGroupName { get; set; }
public int GlobalGroupLevel { get; set; }
public string IsRequired { get; set; }
public string OptionName { get; set; }
public int CurrentOptionID { get; set; }
public string InvalidOption { get; set; }
}
数据存在于我的lst变量中,我在逐步浏览控制器时以及当我在Google Chrome中使用开发人员工具时对其进行了双重检查,这里是我在Chrome浏览器中显示的数据图片
以下是我视图中的代码
<div id="CatalogGrid">
</div>
数据存在但由于某种原因我的网格不想填充
答案 0 :(得分:1)
我认为您的问题出在DataSource中,试试这个:
dataSource: {
type: "json",
data: catalogData,
}