コードを見ずに言うのは難しいですが、カスタムフォーマッターを使用する必要はなく、ドキュメントformatter: 'select'
に示されているように使用するだけです。具体的には、「データにはキー(「1」または「2」)が含まれている必要がありますが、値(「1」または「2」)はグリッドに表示されます」と記載されています。
出力をさらに制御する必要がある場合のもう1つのオプションbuildSelect
は、editoptionsのオプションを使用することです。たとえば、これは私がコードに持っている選択ですが、他の例もあります。もちろん、任意のデータを返し、必要に応じてそれを操作して選択を構築できるという考え方です。次に、データイベント変更機能は、入力フィールドに正しい値が設定されていることを確認します。
{ name: 'Id', index: 'Id', editable: true, hidden: true,
editoptions: { defaultValue: row_id,
dataUrl: "DataService.asmx/GetList",
buildSelect: function (data) {
var s = '<select>';
if (data && data.d) {
//data is nested, so we need a few steps to get to the actual data
var list = data.d;
var opts = JSON.parse(list);
var subList = opts.List;
//loop through the data to build the options list
for (var i = 0, l = subList.length; i < l; i++)
{ var ri = subList[i];
s += '<option value=' + ri.Id + '>' + ri.Name + '</option>';
}
}
else {
s+= "<option value=0>No data to display</option>";
}
return s + "</select>";
} ,
dataEvents: [
{ type: 'change',
fn: function (e) {
$('input#Id').val(this.value);
}
}
]
},
editrules: {edithidden: true},
edittype: 'select'
}