![]() |
| ||
|
|
Новости |
Поиск |
FAQ |
Статьи |
Книги |
Новости VCL
| | Форумы ЧАТ |
Орешник |
|
| |||
| |||
« предыдущая ветвь | форум | следующая ветвь »
Drag&Drop в Express Quantum Grid [D7, XP]
Onyx2012 © (2011-08-08 17:16:00)Помогите, нужно организовать Drag&Drop в CxGrid, чтобы иметь возможность менять строки местами. Поставил DragMode в dmAutomatic, в DragOver написал
if Source is TcxDragControlObject then
with TcxDragControlObject(Source) do
if (Control is TcxGridSite) or (Control is TcxGrid) then
Accept := True;
Что нужно написать в DragDrop, чтобы перенести строку?
Спасибо.
QAZ (2011-08-09 15:33:00) [1]
> Onyx2012 (09.08.11 14:41) [5]
а я про че
Onyx2012 (2011-08-09 14:41:00) [2]Решил проблему через глобальную переменную Pointer
Onyx2012 (2011-08-09 14:18:00) [3]Если еще проше, то у TOraQuery просто нет значений вроде record или rowid, у него есть только Fields (поля).
Пробегатсья по всемзначениям через цикл это не совсем то, что хотелось бы.
Onyx2012 (2011-08-09 14:16:00) [4]Там не все так просто. Предположим A - ячейка, из которой я беру мышкой значение. B - ячейка, на которую я скидываю значение из ячейки A.
При этом значение я меняю сразу в датасете (используя TOraQuery) через FieldByName('ROWNUM').value - оно предоставляет мне число текущей (selected)выбранной ячейки
И проблема в том, что в событии OnDragDrop я не знаю КАК обратиться к той ячейке, ИЗ которой тяну значение. FieldByName('ROWNUM').value возвращает ту ячейку, НА которую я перетягиваю значение.
Вот такая запутанная проблема.
QAZ (2011-08-09 13:28:00) [5]
temp:=dest;
dest:=id;
id:=temp;
логично?
Onyx2012 (2011-08-09 10:42:00) [6]В OnStartDrag я получаю ID нужной мне записи. В OnDragDrop скидываю ее и записываю.
Как мне сделать обратную запись - то есть, чтобы в ту ячейку ИЗ которой я тяну ID, прописывалось та ID, НА которую я скидываю запись?