FLEX 4数字步进器值更新问题?

时间:2011-05-27 17:02:58

标签: flex actionscript-3 flex3 flex4 numericstepper

我在MXML组件中有数字步进器。当我手动输入数值并按一个按钮在我的datagrid列行中添加当前值。第一次它在datagrid列中没有受到影响。但是当我点击第二次实时值时,我的datagrird专栏。 如何在第一次单击按钮时在datagrid列中手动输入值。

谢谢Adavance !!!

protected function id_btnAdd_mouseDownHandler(event:MouseEvent):void             {                 {                 edlColor = new EDLColor();                 edlColor.ColorToString =“rgb(0,0,0)”;
                edlColor.Extent = id_extent.value;                 elxFrame.ShapeStyle.ColorList.AddColor(edlColor);                 dispatchEvent(new ECContextChangeEvent(ECContextChangeEvent.CONTEXT_CHANGE,this,edlColor,ContextConstants.COLOR_CONTEXT));                 }                 // edlColor = new EDLColor();                 //colorList.AddColor(color);
            }

//以上函数用于在datagrid列中添加数值步进器的值

                                    - >                                                                   

        <mx:Spacer width="90%"/>
        <customclasses:IconButton id="id_btnAdd" name="{TDCommonConstants.IMAGE}"  
                                  skinClass="assets.skins.designer.IconButtonSkin"
                                  icon="{Icons.Add}" 
                                  mouseOverIcon="{Icons.Add}" 
                                  mouseDownIcon="{Icons.Add}"
                                  toolTip="{resourceManager.getString(TDCommonConstants.RESOURCE_LABELS,'ADD')}"
                                  mouseDown="id_btnAdd_mouseDownHandler(event)"
                                  height="12" width="10"/>

        <customclasses:IconButton id="id_btnRemove" name="{TDCommonConstants.IMAGE}"  
                                  skinClass="assets.skins.designer.IconButtonSkin"
                                  icon="{Icons.Remove}" 
                                  mouseOverIcon="{Icons.Remove}" 
                                  mouseDownIcon="{Icons.Remove}" 
                                  toolTip="{resourceManager.getString(TDCommonConstants.RESOURCE_LABELS,'REMOVE')}"
                                  mouseDown="id_btnRemove_mouseDownHandler(event)"
                                  height="12" width="10"/>
    </s:HGroup>
    <s:HGroup height="90%" width="100%">
        <mx:DataGrid id="id_variableRefList" width="100%" height="95%">
            <mx:columns>
                <mx:DataGridColumn id="id_strip" sortable="false" > 
                    <mx:itemRenderer>
                        <fx:Component>
                            <mx:HBox width="100%" height="100%" backgroundColor="{data.UnsignedInt}" mouseDown="{outerDocument.hbox1_mouseDownHandler(event)}">
                            </mx:HBox>
                        </fx:Component>
                    </mx:itemRenderer>  
                </mx:DataGridColumn>
                <mx:DataGridColumn id="id_opacity" sortable="false"/>
            </mx:columns>
        </mx:DataGrid>
    </s:HGroup> 
</s:VGroup>

1 个答案:

答案 0 :(得分:0)

您是否尝试将值添加到dataGrid列行?或者到DataGrid的dataProvider?如果您正在更新dataProvider,那么DataGrid将不会自动更新itemRenderer,因为dataChange事件不会自动触发。在您的dataProvider是一个集合类中,您可以使用itemUpdated()方法。

dataProvider.itemUpdateD(myUpdatedItem);

这将触发DataGrid更新。您还可以使用refresh方法:

dataProvider.refresh();

但是,考虑到你提供的代码不足,我只是在猜测。