我在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>
答案 0 :(得分:0)
您是否尝试将值添加到dataGrid列行?或者到DataGrid的dataProvider?如果您正在更新dataProvider,那么DataGrid将不会自动更新itemRenderer,因为dataChange事件不会自动触发。在您的dataProvider是一个集合类中,您可以使用itemUpdated()方法。
dataProvider.itemUpdateD(myUpdatedItem);
这将触发DataGrid更新。您还可以使用refresh方法:
dataProvider.refresh();
但是,考虑到你提供的代码不足,我只是在猜测。