请帮帮我...
我有一个简单的DataGrid,数据提供者是一个服务“getServiceDatiResult.lastResult”,这个服务来自返回一个sqlserver数据的webmethod aspnet。 我通过 click_button 创建了事件,该事件将数据插入数据并将数据获取到 Datagrid .... 问题是数据网格。它仅在我多次调用按钮事件时刷新数据..
我试过了:
datagrid.refresh();
datagrid1.columns.clear();
datagrid1.columns.refresh();
getServiceDatiResult.lastResult.refresh();
getServiceDatiResult.lastResult.commit();
代码:
<mx:DataGrid id="datagrid1" creationComplete="datagrid1_creationCompleteHandler(event)"
dataProvider="{getServiceDatiResult.lastResult}" dropShadowVisible="true"
fontSize="12" fontWeight="normal" textAlign="center" verticalAlign="middle" editable="true">
<s:Button id="button3" label="Insdata3_now" click="button3_clickHandler(event)"/>
[Bindable]
protected function button3_clickHandler(event:MouseEvent):void
{
getServiceDatiResult.token = service.getServiceDati();
<!-- regresh ???? -->
getServiceDatiResult.lastResult.commit();
getServiceDatiResult.lastResult.refresh();
}
最佳答案
您想刷新 DataGrid 的数据提供者;这反过来将更新 DataGrid。
假设你有一个 ArrayCollection,你可以使用 refresh() 方法来刷新所有项目:
(datagrid.dataProvider as ArrayCollection).refresh();
如果您只刷新单个项目,您可以通过使用 itemUpdated() 更新单个项目来节省一些处理时间:
(datagrid.dataProvider as ArrayCollection).itemUpdated(item);
MX DataGrid 将获取任何对象并尝试在 DataGrid 中显示它,因此如果您从服务器返回一个数组或 XML,您可能必须替换数据提供者:
datagrid.dataProvider = newDataProvider;
关于apache-flex - 在 Flex 中如何刷新数据网格上的数据提供者,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/21479401/