0

js:dataGrid 显示空白而不是数据。

数据网格组件:

<j:VGroup id="VGroupContainer">
                <j:Button text="Load Data" width="200" height="60" click="OpenData(event)"/>

                <js:DataGrid  rowHeight="40" y="200" visible="true" id="dataGrid"  width="330">

                    <js:columns>
                            <js:DataGridColumn label="Name" dataField="Name" id="nameField" columnWidth="130"/>
                            <js:DataGridColumn label="SO" dataField="SOname" id="soField" columnWidth="100"/>
                            <js:DataGridColumn label="Email" dataField="Email" id="emailField" columnWidth="100"/>
                    </js:columns>

                </js:DataGrid>
</j:VGroup>

动态更新数据的函数。作为上下文,我将使用 HTTPservice 调用从服务器检索数据并相应地更新数据网格。出于测试目的,我使用以下内容:

protected function OpenData(event:MouseEvent):void
        {


                    var obj:Object=new Object();

                    obj.Name = "record 1"
                    obj.SOname = "SO1"
                    obj.Email = "email 1"
                    var obj2:Object=new Object();

                    obj2.Name = "record 2"
                    obj2.SOname = "SO2"
                    obj2.Email = "email 2"
                    var obj3:Object=new Object();

                    obj3.Name = "record 3"
                    obj3.SOname = "SO3"
                    obj3.Email = "email 3"

                    arrData.addItem(obj)
                    arrData.addItem(obj2)
                    arrData.addItem(obj3)

              dataGrid.dataProvider = arrData;

        }

每当我将 dataProvider 设置为一个值时,dataGrid 似乎有正确的行但没有显示数据。您实际上可以单击并选择一行,但在视觉上没有显示任何单元格:

Dataprovider 更新后

最近有人在 apache Royale 中使用过 Datagrids 吗?我想知道我是否使用了正确的组件。我正在从 s:Datagrids 迁移并且从未遇到过这个问题。

4

1 回答 1

0

您正在使用设计为非常轻量级的基本实现,但错过了内置 flex 实现附带的一些功能。

如果您从 spark 迁移,则使用 spark 仿真组件 [1] 可能更容易。

如果你想保留一个轻量级的实现并在你进行时添加功能,你可以添加一个更改通知器 [2]。

[1] https://github.com/apache/royale-asjs/blob/develop/examples/mxroyale/tourdeflexmodules/src/spark/controls/DataGridExample.mxml

[2] https://github.com/apache/royale-asjs/blob/9db99c214d6ca9c300a11489d2421cf6920e9de4/examples/royale/ListExample/src/main/royale/MyInitialView.mxml#L178

于 2019-09-25T06:25:27.327 回答