0

MXMLコンポーネントに数値ステッパーがあります.手動で数値を入力し、ボタンを押してデータグリッド列の行に現在の値を追加すると、最初はデータグリッド列に影響しません.しかし、2回目の値をクリックすると、データグリッド列に影響します. . ボタンを最初にクリックしたときに、データグリッド列に手動で入力された値を取得する方法。

ありがとうございます!

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(新しい ECContextChangeEvent(ECContextChangeEvent.CONTEXT_CHANGE, this, edlColor, ContextConstants.COLOR_CONTEXT)); } //edlColor = 新しい EDLColor(); //colorList.AddColor(色);
}

//この上記の関数は、データグリッド列に数値ステッパーの値を追加するために使用されます

-->

        <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>
4

1 に答える 1

0

dataGrid 列の行に値を追加しようとしていますか? それとも DataGrid の dataProvider に?dataProvider を更新する場合、dataChange イベントが自動的に発生しないため、DataGrid は itemRenderer を自動的に更新する必要はありません。dataProvider がコレクション クラスの場合、itemUpdated()メソッドを使用できます。

dataProvider.itemUpdateD(myUpdatedItem);

これにより、DataGrid が更新されます。refreshメソッドを使用することもできます。

dataProvider.refresh();

しかし、あなたが提供したコードの欠如を考えると、私は推測しています.

于 2011-05-27T20:35:55.000 に答える