PDA

Просмотр полной версии : DataGrid.removeColumnAt() как сделать чтобы на dataProvider тоже удалились значения


djyamato
26.05.2010, 17:55
Здравствуйте
у меня есть датагрид
я добавляю туда колонки вот так


function addColumnFunction(col_text:String,col_width:String){
var colName="col_"+columnsCounter;
var newColumn:DataGridColumn = new DataGridColumn(col_text);
newColumn.headerText = col_text;
newColumn.width=Number(col_width);
newColumn.sortOnHeaderRelease = false;
my_dg.addColumn(newColumn);
}



то есть имен их я НЕ знаю

затем мне нужно какую-нибудь удалить
я делаю это так
при нажатии на хидер запоминаю индекс и удаляю колонку вот так

my_dg.removeColumnAt(selectedColumn);

все прекрасно удаляется, но в дата провайдере все равно сидят значения для удаленной колонки
Есть ли готовые решения, чтобы дата провайдер сам обновлялся или подскажите как мне удалить из итемов (Item) этого компонента значения, соответствующие удаленной колонке ?

Заранее спасибо

alexcon314
27.05.2010, 00:46
Готовых решений не припомню, впрочем, может просто не сталкивался с такой ситуацией и не копал..
Вообще, если в списке колумнов отсутстует какое-то сопоставленное по имени поле датапровайдера, то колонка не отображается соответственно. Вас это не устраивает?
Ну, а на вскидку: вручную перебрать массив датапровайдера и грохнуть ненужные поля.
Вобщем-то, то, что не удаляется поле датапровайдера вместе с колонкой - это вовсе не косяк, имхо. Лишние поля (не поставленные в соответствие с отображаемыми колонками) бывают весьма полезны.