PDA

Просмотр полной версии : Автоподстава в grid


x_r
25.04.2007, 15:48
Подскажите, как можно реализовать следующий метод. Перенос выбранных данных из грида А в грид Б. При этом в гриде Б имеется дополнительная колонка, в которую при переносе автоматом помещается значение 1. И как вообще программно управлять вводом и изменением данных в одной выбраной колонке а не во всей строке?

Azy
27.04.2007, 12:13
Что значит "перенос"? Драг-н-дроп?

Flashdown
27.04.2007, 19:29
программно управлять данными в DataGrid'e можно через его dataProvider, например ArrayCollection ..
Данные хранящиеся в колонке columnName храняться в dataProvider'e как dataProvider[i].columnName где i номер строки

Соответственно, чтобы скопировать данные из одного DataGrid в другой надо присвоить свойству dataProvider таблицы которую надо заполнить данными копию объекта, являющегося dataProvider'ом таблицы-источника.. Скопировать объект можно при помощи ф-ции copyObject из библиотеки ObjectUtils.. Если же надо чтобы данные были синхронизированы между таблицами - тогда присваивать надо сам объект а не его копию...

x_r
27.04.2007, 21:27
Да с drag&drop все ясно... Проблема вот только с присвоением значения именно в дополнительной колонке. Чета ниче с dataProvider[i].columnName ничего и не выходит.

Flashdown
27.04.2007, 22:23
пробегаешь в цикле по всем строкам объекта типа ArrayCollection который забинден ([Bindable]) как dataProvider таблицы и устанавливаешь значение _myDataProvider[i].xxx = 1;
И проследи чтоб в описании последней колонки таблицы присутствовала надпись dataField="xxx"

__i
28.04.2007, 12:58
сделай описание данных в виде отдельного биндабл класса.

Сделай 2 айтем рендера один расширеный, другой короткий )