We help IT Professionals succeed at work.

How to make the AdvancedDataGrid column widths are consistent in flex

vmarada
vmarada asked
on
Medium Priority
2,002 Views
Last Modified: 2012-05-07
I have a ADG. when i moving from screen to screen, the columns in ADG are resizing. but i dont want to resize them automatically.

i want the column widths to be the original column widths.
<columns>
        <mx:AdvancedDataGridColumn id="listNameCol" dataField="name" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.NameHeader')}" width="250" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="template" dataField="istemplate"	showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.TypeHeader')}" width="80" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="typeCol" dataField="type" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.PageTypeHeader')}" width="80" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="versionCol" dataField="latestrevision" showDataTips="true"	headerText="{resourceManager.getString('locale', 'webPageManager.VersionHeader')}" width="50" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="categoryCol" dataField="{ModelLocator.getInstance().commonManager.dataFieldName4WPMgrGrid}"	headerText="{ModelLocator.getInstance().commonManager.folderCatHeaderLabel}" width="100" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="previewCol" dataField="preview" showDataTips="true"	sortable="false" headerText="{resourceManager.getString('locale', 'webPageManager.PreviewHeader')}" width="50" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="hostStatusCol" dataField="latesthostedstatus" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.HostStatusHeader')}" width="80" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
        <mx:AdvancedDataGridColumn id="urlCol" dataField="latestwebhosturl" showDataTips="true" sortable="false" headerText="{resourceManager.getString('locale', 'webPageManager.URLHeader')}" width="70" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
		<mx:AdvancedDataGridColumn id="createdOnCol" dataField="createddate" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.CreatedOnHeader')}" width="115" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
		<mx:AdvancedDataGridColumn id="lastUsedCol" dataField="lastusedon" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.LastUsedDateHeader')}" width="115" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
		<mx:AdvancedDataGridColumn id="timesUsedol" dataField="nooftimesused" showDataTips="true" headerText="{resourceManager.getString('locale', 'webPageManager.TimesHeader')}" width="50" headerRenderer="com.zetainteractive.view.Renderers.Datagrid.DGHeaderRenderer"/>
   </columns>
    <rendererProviders>
        <mx:AdvancedDataGridRendererProvider column="{listNameCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridGroupRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{template}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{typeCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{versionCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>        
        <mx:AdvancedDataGridRendererProvider column="{categoryCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{previewCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.PreviewRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{hostStatusCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{urlCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.WebURLRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{createdOnCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.DateRenderer"/>
        <mx:AdvancedDataGridRendererProvider column="{lastUsedCol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.DateRenderer"/>
         <mx:AdvancedDataGridRendererProvider column="{timesUsedol}"
            renderer="com.zetainteractive.view.Renderers.Datagrid.ZetaAdvancedDataGridRenderer"/>
    </rendererProviders>

Open in new window

Comment
Watch Question

Sr. Software engineer
CERTIFIED EXPERT
Commented:
Unlock this solution and get a sample of our free trial.
(No credit card required)
UNLOCK SOLUTION

Author

Commented:
I mean, when i navigate from any screen to Datagrid screen, i observed that the width of the columns are changed.
screenshots.JPG
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
First of all, as far as I know that isn't standard behaviour at all.

In the Flex help file I read (for the width property of AdvancedDataGridColumn):
The width of the column, in pixels. If the AdvancedDataGrid's horizontalScrollPolicy property is false, all visible columns must fit in the displayable area, and the AdvancedDataGrid will not always honor the width of the columns if the total width of the columns is too small or too large for the displayable area.

Is the horizontalScrollPolicy property of your AdvancedDataGrid set to true? Otherwise the above indicates the width settings won't always be honored.

If that doesn't help, the only thing I can think of are the renderers. You could do a test and remove all renderers and see if the problem persists.

Author

Commented:
horizontalScrollPolicy wasn't set. however, i dont want to show the horizontal scroll bar.
even i remove all the renderers also, the columns are resizing in the datagrid.
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
>> even i remove all the renderers also, the columns are resizing in the datagrid.
Seriously?
There must be something else in your program causing this. I've never heard of such behaviour be default.

Author

Commented:
There is no manipulation of widths anywhere in my program. i need the renderers also. how to overcome this?
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
>> There is no manipulation of widths anywhere in my program
Then it must be possible to write a small application - just containing two windows; one empty and one having a DataGrid - that demonstrates this behaviour.

Author

Commented:
Example is working fine. but i don't know why it is behaving like that in my application.
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
>> Example is working fine.
That's what I suspected

>> but i don't know why it is behaving like that in my application.
For me there's only one possibility to detect that: I need to see all your code. But I don't know if that is acceptable/feasable for you.

Author

Commented:
ok
zzynxSr. Software engineer
CERTIFIED EXPERT

Commented:
Thanx 4 axxepting
So you found why it behaved like that?
Unlock the solution to this question.
Thanks for using Experts Exchange.

Please provide your email to receive a sample view!

*This site is protected by reCAPTCHA and the Google Privacy Policy and Terms of Service apply.

OR

Please enter a first name

Please enter a last name

8+ characters (letters, numbers, and a symbol)

By clicking, you agree to the Terms of Use and Privacy Policy.