【问题标题】:Kendo UI Grid in angularjsangularjs中的剑道UI网格
【发布时间】:2017-06-12 13:28:38
【问题描述】:

我有一个 JSON 数据结构,需要绑定到 Kendo UI grid 。数据如下所示。将没有标题字段/列。我相信 kendo UI 期望 columnns 不确定如何在没有列标题的情况下将数据绑定到网格?我看到很多带有列标题的示例,但找不到没有标题的示例。任何帮助将不胜感激。

["1 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
 "2 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
 "3 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
 "4 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
 "5 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
 "6 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999"]

提前致谢

【问题讨论】:

  • 您希望网格看起来如何? Kendo 数据源需要一个对象数组,而您有一个字符串数组。 telerik.com/forums/…
  • 您需要解析并重新格式化您的 JSON 数据。您需要 kendogrid 的列标题,没有办法解决这个问题(尽管您可以在事后隐藏它们)。
  • 谢谢你们。根据您的输入,这是我对实现我的要求的理解 1)要将数据绑定到网格,数据源需要对象数组 2)我必须有列标题,但可以隐藏它们。如果我错了,你们能纠正我吗?
  • 是的,参考这个demo,这是一个对象数组的例子。

标签: javascript json kendo-ui kendo-grid


【解决方案1】:

您需要对数据进行格式化以使其适合剑道dataSource,如下所示:

var dataArr = ["1 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
                   "2 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
                   "3 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
                   "4 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
                   "5 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999",
                   "6 ABCDEFGHIJKL 44444444444444444 555555555555555555 67777777777777777 333333333333333  99999999999"];


var formattedData = [];
$.each(dataArr, function(index, value) {
    formattedData.push({value});  
});

一旦你有了这个formattedData,你就可以初始化dataSource和关联的kendoGrid

var dataSource = new kendo.data.DataSource({
    data: formattedData
});
$("#grid").kendoGrid({
    autoBind: true,
    dataSource: dataSource
});

最后,您可以根据需要隐藏列标题,使用以下命令:

$(".k-grid .k-grid-header").hide();

或者可选地,使用 CSS:

.k-grid .k-header {
   display: none;
}

我已经发了Dojo example 来演示以上内容。

【讨论】:

  • 非常感谢@Sandman。请教一个问题,formattedData 函数的目的是什么?
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 2013-09-24
  • 2015-11-11
  • 2014-09-08
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多