我有一个名为Student的类,它有几个属性以及属性"isSelected:Boolean"
,类定义为Bindable。
[Bindable]
[RemoteClass(alias="portal::Student")]
public class Student
在mxml应用程序中,我有一个datagrid,其dataprovider已设置为StudentsCollection的Students。我有一个用于datagrid的checkboxex列以及一个headerItemRenderer复选框,该复选框应该选择所有学生(应该选择或取消选择行中的所有复选框)。
我已经为标题中的复选框的click事件定义了一个处理程序,它将dataProvider中每个Student对象的isSelected属性设置为false或true。但是,单击标题中的此复选框,我会收到警告:无法绑定到类'Student'上的属性'isSelected',因此行中的复选框不会更新。
我不明白为什么绑定在这里不起作用而且不知道如何解决这个问题。任何帮助是极大的赞赏。
答案 0 :(得分:0)
让你的actionscript类扩展EventDispatcher(绑定基于事件调度)。
答案 1 :(得分:0)
这取决于,我猜你在代码中有一个对学生实例的引用,你想要绑定。此引用也必须声明为[Bindable],以使绑定链起作用。
此外,当您不依赖ActionScript来使绑定工作时,您不必扩展EventDispatcher,因为MXML将为您生成该代码(关于Cosma的注释)。
您是否定义了内联渲染器?在我看来,这不是最佳选择,因为生成组件并且调试变得模糊,因为您可能会遇到范围问题。我建议实现一个新组件,实现IDataRenderer并通过实时循环将数据传播给子项,或者在MXML中实现组件。为什么选择IDataRenderer?这个界面是必要的。
另外,我不确定那个,但不应该是
[Bindable]
[RemoteClass(alias="portal.Student")]
public class Student {}
答案 2 :(得分:0)
您需要确保ItemRenderer将传入数据保存在标记为[Bindable]的属性中。你想要传递整个学生,而不仅仅是“isSelected”......