Question

in my flex application i have a datagrid as 2 columns editable and remaining columns are non editable. in some condition, in runtime i have to change the editable column to non editable...how can i do this?? any suggestions?? Heres my code...

<mx:AdvancedDataGrid id="adg1" editable = "true" designViewDataType="tree">
                        <mx:columns>
                                    <mx:AdvancedDataGridColumn headerText="Name" dataField="name" editable ="true"/>
                                    <mx:AdvancedDataGridColumn headerText="Age" dataField="age" editable ="true"/>
                                    <mx:AdvancedDataGridColumn headerText="Roll No" dataField="num" editable = "false"/>
                        </mx:columns>
            </mx:AdvancedDataGrid>

Thanxx in advance..

Était-ce utile?

La solution

Method 1: You can loop through columns, and check editable property:

            for (var i:int = 0; i < adg1.columns.length; i++) 
            {
                if (adg1.columns[i] is AdvancedDataGridColumn)
                {
                    var myCol:AdvancedDataGridColumn = adg1.columns[i] as AdvancedDataGridColumn;

                    trace(myCol.editable);  

                    //for example, change Age column to non editable
                    if (myCol.headerText == 'Age')
                    {
                        myCol.editable = false;
                    }
                }
            }

Method 2:

if you set id for column like:

<mx:AdvancedDataGridColumn id="ageCol" headerText="Age" dataField="age" editable ="true"/>

you can access it this way:

trace("before ageCol editable:",ageCol.editable);

var indx:int = adg1.columns.indexOf(ageCol);
adg1.columns[indx].editable = false;

trace("after ageCol editable:",ageCol.editable);

or if it is applicable, just do:

ageCol.editable = false;

Autres conseils

adg1.columns ll return you array of the columns.

loop through columns casting each into AdvancedDataGridColumn and check condition with 'dataField' and make it editable or noneditable as you wish.

Licencié sous: CC-BY-SA avec attribution
Non affilié à StackOverflow
scroll top