我正在尝试使用 DropDown 列加载 gjqxGrid,我尝试在 jsfiddle 中使用示例 json:在这里,它运行良好。但是当我尝试在我的项目文件中使用相同的代码时,DropDown 列是空的,我检查了数据格式,没关系。以下是项目文件中的代码
var source_app =
{
datatype: "json",
datafields:[
{ name: 'id' },
{ name: 'name' },
{ name: 'count' },
{ name: 'drop'},
{ name: 'drops'}
],
url: "settings/scenario_count2.php",
cache:false,
updaterow: function (rowid, rowdata, commit) {
var data = "update=true&" + $.param(rowdata);
$.ajax({
dataType: 'json',
url: 'settings/scenario_count2.php',
cache: false,
data: data,
success: function (data, status, xhr) {
// update command is executed.
commit(true);
},
/*
error: function(jqXHR, textStatus, errorThrown)
{
commit(false);
}*/
});
}
};
var dataAdapter_app = new $.jqx.dataAdapter(source_app);
dataAdapter_app.dataBind();
//下面是我的Jqx网格初始化代码 // 方法1
$("#scenario_grid2").jqxGrid(
{
width: 520,
height: 253,
source: dataAdapter_app,
editable: true,
theme: theme,
selectionmode: 'multiplecellsadvanced',
columns: [
{ text: 'Id', hidden: true, editable:false, columntype: 'textbox', datafield: 'id'},
{ text: 'Name', columntype: 'textbox', datafield: 'name', width: 140 },
/*{ text: 'Drop', columntype: 'NumberInput', datafield: 'drop', width: 60 }, */
{ text: 'Drop',
datafield: 'drop', width: 160, columntype: "dropdownlist",
initeditor: function (row, cellvalue, editor) {
editor.jqxDropDownList ({source: dataAdapter_app.records[row].drops });
}},
drop 列具有需要在下拉列表中显示的值数组。此外,如果我将数据字段 'drop' 替换为 'drops',那么我会在列中得到逗号分隔的值,这意味着数组数据存在,但下拉列表未创建。.
如果我在网格初始化之前创建了下拉适配器 // 方法 2
var dropdownListStateAdapter3 = new $.jqx.dataAdapter(dropDownListStateSource3, { autoBind: true, async: false });
并使用它如下:
{ text: 'State', columntype: 'dropdownlist', datafield: 'revision_state', width: 55,
initeditor: function (row, cellvalue, editor) {
editor.jqxDropDownList({ displayMember: 'name', source: dropdownListStateAdapter3 });
然后我得到下拉,但我想要动态下拉,因为它每一行都有不同的下拉值集。请让我知道如何使用方法 1 填充下拉列表。
谢谢。