1

記事の詳細を表示するグリッド パネルがあります。いくつかの列があります。従業員がセル値の 1 つを変更すると、更新されたフィールドに基づいてすべての列フィールド値を一致させたいと考えています。

+----------------------------------------+ 
| ROW ID | COL A | COL B | COL C | COL D | 
+----------------------------------------+ 
|   1    |   TR  |  IST  |  100  |   12  |
+----------------------------------------+
|   2    |   US  |   NY  |   60  |    7  |
+----------------------------------------+
|   3    |   DE  |  BER  |   74  |    9  |
+----------------------------------------+

私がやりたいことは、ユーザーが ROW-1 のCOL D値 (12) を 15 に変更すると、他の行のCOL D値が で自動的に変更されるはず15です。

+----------------------------------------+ 
| ROW ID | COL A | COL B | COL C | COL D | 
+----------------------------------------+ 
|   1    |   TR  |  IST  |  100  |   15  | <- user has changed the value
+----------------------------------------+
|   2    |   US  |   NY  |   60  |   15  |
+----------------------------------------+
|   3    |   DE  |  BER  |   74  |   15  |
+----------------------------------------+
4

2 に答える 2

1

editグリッドのイベントでレコードを更新します。

次に例を示します。

Ext.widget('grid', {
    renderTo: Ext.getBody()
    ,columns: [{dataIndex: 'a', header: 'Col A', editor: 'textfield'}]
    ,store: {
        fields: ['a']
        ,data: [{a: 1},{a:2},{a:3}]
    }
    ,plugins: [
        Ext.create('Ext.grid.plugin.CellEditing', {
            clicksToEdit: 1
        })
    ]
    ,listeners: {
        // this event is added to the grid by the CellEditing plugin
        edit: function(editor, e) {
            e.grid.getStore().each(function(record) {
                record.set('a', e.value);
            });
        }
    }
});
于 2013-06-03T11:31:52.037 に答える
1

後ろの店の記録を更新する必要があります。何かのようなもの

store.each(function(record){
    record.set('col_d', 15);

});

于 2013-06-03T11:17:59.457 に答える