Actionscript 3 分别验证DataGridColumn单元格
如何分别验证DataGridColumn中的单元格?(ActionScript 3.5)根据给定行中的字段,为每个单元格配置验证。比如说Actionscript 3 分别验证DataGridColumn单元格,actionscript-3,validation,apache-flex,datagrid,Actionscript 3,Validation,Apache Flex,Datagrid,如何分别验证DataGridColumn中的单元格?(ActionScript 3.5)根据给定行中的字段,为每个单元格配置验证。比如说 FIELD VALUE TYPE age 13 Integer height 13x3 Integer registered true Boolean temperature 98.G6 Float 在这种情况
FIELD VALUE TYPE
age 13 Integer
height 13x3 Integer
registered true Boolean
temperature 98.G6 Float
在这种情况下,13x3和98.G6当然无效
编写验证器很容易;和访问数据提供程序对象
但是我如何获得对GUI单元对象的单独访问权,以便直接或通过验证器在单个单元上设置errorString
由于性能原因,itemRenderer/TextInput控件在单元间重复使用,因此访问GUI级别的对象很棘手
编辑 答复:
at BigResource询问如何访问单个单元格。第三篇文章回答了这个问题,并提供了一个链接,指向比这个更好的资源。我想你两个都想要。希望这能有所帮助 是否确实要访问各个单元格的显示对象?该组件管理实例,以便只创建需要显示的实例(这样巨大的数据集就不需要在屏幕上显示大量的DisplayObjects)
我认为更好的选择是为DataGridColumn提供一个自定义的。你可以编写这个类来接受验证器并更新它的外观,这是可以理解的。如果你想进行任意验证(例如在按钮或页面导航上),而不是立即导航(例如在单元格退出或编辑结束时),那么数据就在基础数据提供程序中。我会在那里进行验证,而不是在网格中四处挖掘 您可以向数据项添加标志,以便项渲染器将其显示为错误(或将其标记)
干杯谢谢。您链接的网站似乎显示了如何访问给定单元格中的数据(您提到的“第三篇文章”是什么?),而我正在寻找一种方法来迭代表示单元格的GUI组件。请参阅我对上述问题的编辑,其中提供了一些链接。每次退出单元格时,Flex似乎都会破坏TextInput或其他编辑器控件。我想确认按下OK按钮的时间。无效单元格将获得红色边框和用于验证的常见错误工具提示。我应该注意,可以在给定的坐标处获取CellRenderer。我应该注意,可以在fl.controls.DataGrid中获取CellRenderer,但不能在mx.controls.DataGrid中获取给定行和列的CellRenderer。谢谢——但我想验证在按下数据网格“外部”的按钮时,如下面的MXML示例中所示。我确实知道如何从DataGridEvent处理程序的“内部”进行验证,可以选择使用自定义itemRenderer,但如果验证失败,我需要阻止关闭包含此代码的对话框。当然,我们对dataProvider中的数据进行验证。问题是如何设置GUI元素,例如errorString。您对项目呈现器中的验证标志的想法是好的,但仍然没有回答如何从网格外的“验证”按钮验证整个网格。当您有一个要关闭但必须在关闭时验证的对话框(根据需要阻止关闭)时,这一点很重要。