Я вытягиваю xml данные, чтобы определить, какие столбцы видны, и ширины каждого столбца. Ширина моего datagrid может изменить sinces его с одной стороны HDividedBox. Часть видимости работает, но установка ширины вызывает головные боли. Heres код:Flex 3 DataGrid Column Width Problem
for(loop through column data retrieve from XML)
{
newData[i] = dg.columns[Number(columnsOrder[i]) - 1];
newData[i].visible = (Number(columnsVisibility[i]) == 1);
newData[i].width = Number(columnsWidth[i]);
trace(newData[i].headerText + " w:" + newData[i].width.toString() + " v:" + newData[i].visible.toString());
}
dg.columns = newData;
dg.invalidateList();
В след ширина справедливо для первых двух пунктов, однако, его показ, как «20» навсегда подряд один ...
Date w:240 v:true
Title w:184 v:true
Requestor w:20 v:true
Approved By w:20 v:true
Category w:20 v:false
Status w:20 v:false
Priority w:20 v:false
Когда выход Number (columnsWidth [i]), он отображается как правильное значение, поэтому происходит что-то странное при назначении ширины.
Посмотрел на это в течение нескольких часов и попробовал несколько вещей, чтобы попытаться исправить это безрезультатно. ширина
Я думаю, что эта ошибка возникает если размер DataGrid слишком мал, чтобы вычислить столбцы, когда он будет создан. Одна работа заключается в том, чтобы установить ширину на то, что будет вмещать все столбцы, такие как 100, а затем в событии завершения создания установите ширину в соответствии с тем, что вы действительно хотите, например, percentWidth = 100 – robmcm