gpt4 book ai didi

apache-flex - 在 Flex 中如何刷新数据网格上的数据提供者

转载 作者:行者123 更新时间:2023-12-02 07:31:16 25 4
gpt4 key购买 nike

请帮帮我...

我有一个简单的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/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com