具有两个提供程序的高级DataGrid
我想为 1 个高级数据网格提供 2 个数据提供程序:1 个普通数据提供程序,第二个数据提供程序用于其中一列中的组合框。我想让这个组合框包含数据库中某一列的数据(我已经在 arrayCollection 中拥有它)。 我只是不知道如何为组合框提供数据,以便不必每次为每个组合框(作为自定义组件)从数据库读取该数据。我应该将 arrayCollection 传递给自定义组件吗?或者在 mxml 中“内联”?最好的办法是什么?
感谢您的帮助
I want to have 2 dataproviders for 1 advancedDataGrid: 1 normal and second one for combobox in a one of columns. I want to have this combobox to have data from a column in database (i already have it in arrayCollection).
I just don't know how to provide data for comboBox in a way that it doesn't have to read that data from database every time for every comboBox (as custom component). Should I pass arrayCollection to custom component? or do it 'inline' in mxml? what's the best way?
thanks for any help
如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。
绑定邮箱获取回复消息
由于您还没有绑定你的真实邮箱,如果其他用户或者作者回复了您的评论,将不能在第一时间通知您!
发布评论
评论(3)
最简单的方法是
The easiest is to
您不能将 arrayCollection 设置为绑定到每行的对象的属性吗?
一行等于一个对象,其属性包含绑定到组合框的 arrayCollection。
Could you not just set the arrayCollection as a property to the object that is being bound to each row?
One row equals one object with a property containing your arrayCollection which is bound to the comboBox.
我假设 table1 中的 field_2 包含表 2 中的行的键。
设置数据网格以使用 table1 作为提供程序。确保第二列使用带有组合框的自定义渲染器
渲染器只是一个画布,里面有一个组合框。组合框使用 table2 数据的副本(只需创建一个数组集合并使用数据库中的数据填充一次)作为提供程序,并使用 table1 中的数据来显示所选项目。
I assume that field_2 in table1 contains a key to a row in table 2.
Set up your datagrid to use table1 as a provider. Make sure the second column use the custom renderer with a combobox
The renderer is just a canvas with a combobox inside it. The combobox use a copy of the table2 data (just create an array collection and fill it one time with the data from the database) as a provider and use the data from table1 to display the selected item.