添加命名数组中断Kendo dataSource绑定到JSON

时间:2013-12-30 03:30:50

标签: javascript json kendo-ui kendo-dropdown

我正在将JS KendoUI下拉列表绑定到JSON(不使用模型),最近通过向对象添加命名数组来更改(为了格式化Kendo TreeView控件的JSON)。这当然打破了一些事情。原始的JSON格式看起来像这样(一个对象数组):

[
 {
   "COLUMN_NAME": "OBJECTID",       
   "DATA_TYPE": "esriFieldTypeOID",              
   "CATEGORY": "Feature Data"
  },
  {
   "COLUMN_NAME": "Brand",       
   "DATA_TYPE": "esriFieldTypeString",              
   "CATEGORY": "Feature Data"
  },...    
]

现在它看起来像这样(带有命名数组的对象,带有对象):

{
 "Hydrant": [
  {
   "COLUMN_NAME": "OBJECTID",       
   "DATA_TYPE": "esriFieldTypeOID",              
   "CATEGORY": "Feature Data"
  },
  {
   "COLUMN_NAME": "Brand",       
   "DATA_TYPE": "esriFieldTypeString",              
   "CATEGORY": "Feature Data"
  },...
],
"DisplayField": "Description",
"DefaultField" : "HydrantID"    
}

我假设我可以简单地将模式定义为“Hydrant”或将dataText / ValueFields设置为“Hydrant.COLUMN_NAME”,但没有运气。 我忽略了什么?我正在使用“COLUMN_NAME”将此JSON格式响应绑定到下拉列表以填充它。

奖励:如何使用“DefaultField”在下拉列表中设置默认选项?

提前致谢!

1 个答案:

答案 0 :(得分:0)

您可以使用DataSource配置的schema.data字段来识别用于其数据的响应中的字段:

schema: { data: 'Hydrant' }