Просмотр полной версии : Автоподстава в grid
Подскажите, как можно реализовать следующий метод. Перенос выбранных данных из грида А в грид Б. При этом в гриде Б имеется дополнительная колонка, в которую при переносе автоматом помещается значение 1. И как вообще программно управлять вводом и изменением данных в одной выбраной колонке а не во всей строке?
Что значит "перенос"? Драг-н-дроп?
Flashdown
27.04.2007, 19:29
программно управлять данными в DataGrid'e можно через его dataProvider, например ArrayCollection ..
Данные хранящиеся в колонке columnName храняться в dataProvider'e как dataProvider[i].columnName где i номер строки
Соответственно, чтобы скопировать данные из одного DataGrid в другой надо присвоить свойству dataProvider таблицы которую надо заполнить данными копию объекта, являющегося dataProvider'ом таблицы-источника.. Скопировать объект можно при помощи ф-ции copyObject из библиотеки ObjectUtils.. Если же надо чтобы данные были синхронизированы между таблицами - тогда присваивать надо сам объект а не его копию...
Да с drag&drop все ясно... Проблема вот только с присвоением значения именно в дополнительной колонке. Чета ниче с dataProvider[i].columnName ничего и не выходит.
Flashdown
27.04.2007, 22:23
пробегаешь в цикле по всем строкам объекта типа ArrayCollection который забинден ([Bindable]) как dataProvider таблицы и устанавливаешь значение _myDataProvider[i].xxx = 1;
И проследи чтоб в описании последней колонки таблицы присутствовала надпись dataField="xxx"
сделай описание данных в виде отдельного биндабл класса.
Сделай 2 айтем рендера один расширеный, другой короткий )
Работает на vBulletin ® версия 3.7.3. Copyright ©2000-2026, Jelsoft Enterprises Ltd. Перевод: zCarot
Copyright © 1999-2008 Flasher.ru. All rights reserved.