Javascript-форум (https://javascript.ru/forum/)
-   ExtJS (https://javascript.ru/forum/extjs/)
-   -   Как сохранить данные после Drag&Drop? (https://javascript.ru/forum/extjs/10884-kak-sokhranit-dannye-posle-drag-drop.html)

astral_sight 26.07.2010 18:51

Как сохранить данные после Drag&Drop?
 
Весь день мозг себе имею. :)

Есть два Грида, между ними осуществляется драг&дроп; всё бы хорошо, но при перезагрузке данных, ессесно, все изменения сбрасываются. Логичным было было бы сделать ajax-запрос при драге, который бы на сервере новые данные сохранил. Но я не знаю где мне взять содержимое строки, которую я перетащил. Мне нужно вытащить оттуда значение одной из ячеек (id).

Вот, что у меня на данный момент есть.

var secondGridDropTargetEl  =  stock_grid_props.getView().scroller.dom;
        var secondGridDropTarget  = new Ext.dd.DropTarget(secondGridDropTargetEl, {
                ddGroup    : 'secondGridDDGroup',
                notifyDrop : function(ddSource, e, data){
                        var records =  ddSource.dragData.selections;
                        Ext.each(records, ddSource.grid.store.remove, ddSource.grid.store);
                        stock_grid_props.store.add(records);
						
						 Ext.Ajax.request({   
						  waitMsg: 'Please wait...',
						  url: 'ajax.php',
						  params: {
							 task: "savegrid_prop",
							 office: <ВОТ ЗДЕСЬ МНЕ НУЖНО ВЫТАЩИТЬ ЗНАЧЕНИЕ ЯЧЕЙКИ id ИЗ ПЕРЕТАЩЕННОЙ СТРОКИ>
							 client: tree.getSelectionModel().getSelectedNode().attributes.client_id
						  }...


Насколько я понял, все данные перенесённой строки хранятся в переменной records. Но а как оттуда вытащить значение нужной ячейки?

Yazla 02.08.2010 13:49

Если я правельно понял то тебе надо: records["номер нужной записи"].id или records["номер нужной записи"].get("id").

Если перетягивается одна запись то выйдет: records[0].id


Часовой пояс GMT +3, время: 07:02.