首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >单独验证DataGridColumn单元

单独验证DataGridColumn单元
EN

Stack Overflow用户
提问于 2010-06-18 16:16:08
回答 3查看 3.3K关注 0票数 2

如何单独验证DataGridColumn中的单元格?(ActionScript 3.5)根据给定行中的字段配置每个单元格的验证。例如

代码语言:javascript
复制
FIELD               VALUE   TYPE
age                 13      Integer
height              13x3    Integer
registered          true    Boolean
temperature         98.G6   Float

在这种情况下,13x3和98.G6当然是无效的。

编写Validator和访问数据提供程序对象很容易。

但是,如何获得对GUI单元对象的单独访问,以便可以直接或通过Validator在单个单元上设置errorString

由于性能原因,itemRenderer/ TextInput控件在单元格中被重用,因此访问GUI级别的对象是很棘手的。

编辑

答案:

  1. 验证和显示失效标记(但不是每个单元)的一种方法是验证所有数据提供程序对象,然后在整个网格上设置errorString。
  2. 验证每个单元格的一种方法是在itemEditEnd事件处理程序上。(请参阅这些页面一个 B C D)。一个缺点是它只允许从“内部”访问单元格,而不是在命令上验证网格的操作中。
  3. 自定义itemRenderer是另一种可能性,如下面的答案所示,但与上面的3一样,它只允许从“内部”访问单元格,而不是在命令上验证网格的操作中。
  4. 请看下面理查德·黑文的回答。
  5. 下面是如何访问GUI对象:相关GUI对象的列表是一个受保护的字段;因此您可以通过子类访问它,然后遍历表示单元格的GUI组件,并在每个组件上设置errorString。
EN

回答 3

Stack Overflow用户

回答已采纳

发布于 2010-06-28 16:28:48

如果您正在寻找任意验证(例如在按钮或页面导航上),而不是立即导航(例如在单元格退出或编辑结束时),则数据位于基础dataProvider中。我会在那里进行验证,而不是在网格中进行挖掘。

您可以向数据项添加一个标志,以便项目呈现器将其显示为错误(或使用外部列表标记它)。

干杯

票数 1
EN

Stack Overflow用户

发布于 2010-06-18 16:37:38

本网站 at BigResource询问如何访问单个单元。第三篇文章回答了问题,并提供了一个指向比这更好的资源的链接。我想你会想两者兼得的。希望这能帮上忙。

票数 2
EN

Stack Overflow用户

发布于 2010-06-22 16:39:03

您确定确实要访问各个单元格的DisplayObjects吗?该组件管理实例,因此它只创建需要显示的数量(这样巨大的数据集就不需要屏幕上大量的DisplayObjects )。

我认为更好的选择是为DataGridColumn提供一个自定义itemRenderer。您可以编写这个类来接受一个验证器并更新它的外观,并且有关于它的一堆很棒的教程

票数 1
EN
页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/3071345

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档