PDA

Просмотр полной версии : Проблемы с DataGrid


Alexandor1984
26.03.2007, 15:41
<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="358" height="194">
<mx:Script>
<![CDATA[
private function click():void
{
if (ChBx.selected == true)
{
ColumnDG.visible = false;
}
else
{
ColumnDG.visible = true;
}
}
]]>
</mx:Script>
<mx:DataGrid y="10" left="10" right="10">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2" id="ColumnDG"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
<mx:CheckBox x="10" y="160" label="Checkbox" id="ChBx" click="click()"/>
</mx:Application>
Почему размеры колонки меняются, когда ее убирать и вставлять?

etc
26.03.2007, 17:57
Не стал лезть в DataGrid, просто сохранил ширину:

<?xml version="1.0"?>
<mx:Application xmlns:mx="http://www.adobe.com/2006/mxml" layout="absolute" width="358" height="194" creationComplete="init();">
<mx:Script>
<![CDATA[
private var columnWidth:Number;
private function init():void {
columnWidth = ColumnDG.width;
}
private function click():void
{
if (ChBx.selected == true)
{
ColumnDG.visible = false;
}
else
{
ColumnDG.visible = true;
}
ColumnDG.width = columnWidth;
}
]]>
</mx:Script>
<mx:DataGrid id="grid" y="10" left="10" right="10">
<mx:columns>
<mx:DataGridColumn headerText="Column 1" dataField="col1"/>
<mx:DataGridColumn headerText="Column 2" dataField="col2" id="ColumnDG"/>
<mx:DataGridColumn headerText="Column 3" dataField="col3"/>
</mx:columns>
</mx:DataGrid>
<mx:CheckBox x="10" y="160" label="Checkbox" id="ChBx" click="click()"/>
</mx:Application>

Alexandor1984
27.03.2007, 13:45
У меня DataGrid находится в компоненте HDividedBox и ширина DataGrid-а меняется пользователем. Поэтому предложенный выше вариант не подходит. :( :eek:

etc
27.03.2007, 14:28
Так сохраняй ширину, которую изменил пользователь.

Alexandor1984
27.03.2007, 14:38
А если колонок было 2-шт, затем пользователь изменил ширину DataGrid и включил 3-ю колонку?

etc
27.03.2007, 14:41
Это что-то меняет принципиально? В конце концов я бы просто не стал бы делать тут ничего, юзверь сам подвинет.