インライン編集用のオートコンプリート設定の列があります。問題ありません。問題は、オートコンプリートに設定が必要な基になるIDがあることです。私の考えは、グリッドに非表示の列を置き、オートコンプリートのselectコールバックを使用してIDを設定することでした。コールバックではすべて良さそうです。ただし、行を保存するときは、列は空です。行データの設定を解除するアイデアはありますか?
関連するコードは次のとおりです。
{ name: 'fieldName', label: 'fieldLabel', index: 'fielindex', width: 300,
sortable: true, editable: true, edittype : 'custom',
editoptions: {
custom_element : someAutoComplete_element,
custom_value : someAutoComplete_value
}
},
{ name:'someID', index:'someID', width: 70, hidden: true, editable: true,
editrules: {edithidden:false}
},
function someAutoComplete_value(elem, op, value) {
if (op == "set") {
$(elem).val(value);
}
return $(elem).val();
}
function someAutoComplete_element,(value, options) {
var $ac = $('<input type="text"/>');
$ac.autocomplete( {
source: function(request, response) {
$.ajax({
// Code to deal with fetching the autocomplete
});
},
select: function(event, ui) {
var newId = ui.item.obj.id;
var rowId = jQuery('#myTable').jqGrid('getGridParam','selrow');
if (rowId) {
var rowData = jQuery('#myTable').getRowData(rowId);
rowData['someID'] = newId;
}
}
}
)
return $ac;
}
ありがとう、スコット