私はjqgridを持っています。ここで私はcustom_elementを使ってディスプレイをフォーマットしています。jqgrid結合された列とバインドデータを編集する
{
name: 'PDTime', index: 'PDTime', width: 60, editable: true, formatter: timeSpanHMFormatter, edittype: 'text', editoptions: {
custom_element: function (value, options) {
var elemStr = '<div> <select id="UTTime" name="UTTime" >'
for (var i = 0; i < 24; i++) {
elemStr = elemStr + '<option value="' + i + '">' + i + '</option>'
}
elemStr = elemStr + "</select> </div>";
return $(elemStr)[0];
},
custom_value: function (elem, operation, value) {
console.log(elem);
}
}
},
フォーマッタは時間と分を示すタイムスパン表示です。値 'PDTime'は、時間と分のプロパティを持つオブジェクトです。
function timeSpanHMFormatter(cellvalue, options, rowObject) {
if (cellvalue.Hours == 0 && cellvalue.Minutes == 0)
return "";
var value = "00:00";
if (cellvalue.Hours.toString().length == 1)
value = "0" + cellvalue.Hours
else
value = cellvalue.Hours
if (cellvalue.Minutes.toString().length == 1)
value = value + ":0" + cellvalue.Minutes
else
value = value + ":" + cellvalue.Minutes
return value;
}
ビューモードでは、値に応じて02:30などと表示されます。私は編集モードでこのPDTimeオブジェクトに値をバインドしたいと思います。
custom_elementは今のところ1時間のドロップダウンを作成し、ドロップダウンの選択値をPDTime.Hours
にバインドしようとしています。これどうやってするの ?
中にエラー、edittype:「カスタム」ではない 'text'質問。 – user3462433
「編集モードでこのPDTimeオブジェクトに値をバインドする」という意味の詳細を教えてください。どの編集モジュールが使用されていますか? –
私はインライン編集を使用しています。バインディングとは、PDTimeの値を入力するときに、PDTime.hoursと分に割り当てることができるということです。たとえば、2つのドロップダウンで2つの値を選択すると、1つはPDTimr.hoursにバインドされ、もう1つは数分にバインドされるため、保存時にポストバックすると、PDTimrオブジェクトにアクセスできます。 – user3462433