请帮帮我...
我有一个简单的DataGrid,dataprovider是一个服务"getServiceDatiResult.lastResult",这个服务来自webmethod aspnet,它返回一个sqlserver数据.我通过click_button创建了Event,它插入数据并将数据导入Datagrid ....问题是datagrid.它仅在我多次调用按钮事件时刷新数据.
我尝试过:
datagrid.refresh();
datagrid1.columns.clear();
datagrid1.columns.refresh();
getServiceDatiResult.lastResult.refresh();
getServiceDatiResult.lastResult.commit();
Run Code Online (Sandbox Code Playgroud)
代码:
<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();
}
Run Code Online (Sandbox Code Playgroud)
您想要刷新DataGrid的dataprovider; 这反过来将更新DataGrid.
假设您有一个ArrayCollection,您可以使用refresh()方法刷新所有项目:
(datagrid.dataProvider as ArrayCollection).refresh();
Run Code Online (Sandbox Code Playgroud)
如果您只刷新单个项目,则可以通过使用itemUpdated()更新单个项目来节省一些处理时间:
(datagrid.dataProvider as ArrayCollection).itemUpdated(item);
Run Code Online (Sandbox Code Playgroud)
MX DataGrid将获取任何对象并尝试在DataGrid中显示它,因此如果您从服务器返回一个Array或XML,则可能必须替换dataProvider:
datagrid.dataProvider = newDataProvider;
Run Code Online (Sandbox Code Playgroud)
归档时间: |
|
查看次数: |
9136 次 |
最近记录: |