剣道のグリッドを常に編集モードに設定できるかどうかは誰にも分かりますか?剣道グリッドは常に編集モードにできますか?
ユーザーがセルまたはボタンをクリックして編集モードを有効にすることを希望しません。私たちはウィジェットをいつでも表示して利用できるようにしたいと考えています。
それはまったく可能ですか?
剣道のグリッドを常に編集モードに設定できるかどうかは誰にも分かりますか?剣道グリッドは常に編集モードにできますか?
ユーザーがセルまたはボタンをクリックして編集モードを有効にすることを希望しません。私たちはウィジェットをいつでも表示して利用できるようにしたいと考えています。
それはまったく可能ですか?
バッチ編集モードを使用する以外に、すべての列のテンプレートを設定し、MVVMを使用して入力要素をデータ項目にバインドすることができます。ここで
$("#grid").kendoGrid({
dataSource: {
schema: {
model: {
id: "id",
fields: {
id: { editable: false }
}
}
}
data: [
{ id:1, age: 30, name: "John Doe" }
]
},
columns: [
{ field: "id", width: 50 },
{ field: "age", template: "<input data-bind='value: age' data-role='numerictextbox'>" },
{ field: "name", template:"<input data-bind='value: name' >" }
],
dataBound: function() {
var rows = this.tbody.children();
var dataItems = this.dataSource.view();
for (var i = 0; i < dataItems.length; i++) {
kendo.bind(rows[i], dataItems[i]);
}
}
});
はライブデモです:http://jsbin.com/ApoFobA/2/edit
私は上記の答えは優れていることが判明しました。ただし、グリッドをリフレッシュするとき(並べ替えやフィルタリング、refresh()が呼び出されたときなど)にバインディングをクリーンアップしないで、グリッドのDOM要素を削除するという問題も1つあります。その結果、dataItemsには、増加する数の「変更」イベントがキューに入れられます。これは、少しのメモリリークです。これは、以下のようにdataBindingイベントのバインドを解除することで回避できます。
dataBinding: function() {
var rows = this.tbody.children();
for (var i = 0; i < rows.length; i++) {
kendo.unbind(rows[i]);
}
}
ありがとうございます。それは私が必要とするものに最も近い答えです。 – ThiagoPXP
ありがとうございます。グループ化を有効にし、列で入力フィールドをすべて空白にしてグループ化するまでは、それは素晴らしいものでした。 1つの問題がダウンして、もう1つ.... – wavedrop