我需要设置一个CheckboxGroup复选框,其中包含来自某个url的json加载的值。 什么是JSON的正确格式?
非常感谢您的帮助!
更新:我会澄清我的问题。
我正在使用EditorGridPanel。行是期间。有列Start_at,Finish_at,Region。第一个和第二个是日期,一切都可以。 Region的问题实际上是一个CheckboxGroup,每个星期都有一个复选框 - 星期一,星期二等等。所以:
首先我将数据从服务器加载到商店
function setupDataSource() {
row = Ext.data.Record.create([
{ name: 'start_at', type: 'string' },
{ name: 'finish_at', type: 'string' },
{ name: 'region', type: 'string' }
]);
store = new Ext.data.Store({
url: '/country/195/periods',
reader: new Ext.data.JsonReader(
{
root: 'rows',
id: 'id'
},
row
)
});
store.load();
}
网址:'/ country / 195 / periods'返回JSON:
{"rows": [{"region": {"cbvert_1": 1, "cbvert_2": 0, "cbvert_3": 1, "cbvert_4": 0, "cbvert_5": 1, "cbvert_6": 0, "cbvert_7": 1}, "start_at": "2010-10-17", "id": 1, "finish_at": "2010-10-28"}]}
然后我正在建立一个网格:
function buildGrid() {
sm = new Ext.grid.RowSelectionModel();
cm = new Ext.grid.ColumnModel([
// ... Start at and Finish at columns definition here ...
{ header: 'Region',
dataIndex: 'region',
width: 150,
editor: new Ext.form.CheckboxGroup({
xtype: 'checkboxgroup',
columns: 7,
vertical: true,
items: [
{boxLabel: 'M', name: 'cbvert_1', inputValue: 1},
{boxLabel: 'T', name: 'cbvert_2', inputValue: 1},
{boxLabel: 'W', name: 'cbvert_3', inputValue: 1},
{boxLabel: 'T', name: 'cbvert_4', inputValue: 1},
{boxLabel: 'F', name: 'cbvert_5', inputValue: 1},
{boxLabel: 'S', name: 'cbvert_6', inputValue: 1},
{boxLabel: 'S', name: 'cbvert_7', inputValue: 1},
]
}),
renderer: function(value) {}
}]);
// ...
}
因此,当我点击网格单元格时,我需要使用先前存储在数据库中的值预先选择复选框。现在所有的复选框都保持空白,但在JSON中应该是1010101。
请指出错误或某种解决方案。任何帮助将不胜感激。 非常感谢!
答案 0 :(得分:1)
检查一下: http://www.sencha.com/forum/showthread.php?47243-Load-data-in-checkboxgroup
<强>更新强> 删除区域字段的类型声明。您不需要字符串而是对象(来自JSON)。它的工作原理很好:)