1

我在 Delphi 7 中有一个使用客户端数据集的应用程序,并对其进行了多项操作。ClientDataSet 链接到 Intraweb 网格。

我在 ClientDataSet 上进行插入或编辑。如何验证每个字段的 clientdataset 中引入的数据?我无法验证用户在 Web 表单上的输入,因此我必须使用 ClientDataSet 事件进行验证。

LE:我想在用户输入时验证数据。不在 onbeforepost 活动中。所以,我把客户端数据集放在编辑/插入中。用户在网格中进行输入,我想验证 clientdataset 中该行的数据,如下图所示:

在此处输入图像描述

第一列是字符串,第二列是整数,第三列也是整数。现在,我想在用户输入后验证第三列。必须通过使用客户端数据集事件/黑客来完成此验证(如果可能的话)。

4

3 回答 3

3

您应该处理 TClientDataset BeforePost事件,如果数据无效,请使用abort方法

于 2011-05-23T10:11:15.477 回答
3

TField 为此目的有一个 OnValidate 事件。它还有一个 CustomConstrain 属性,可以对约束使用类似 SQL 的语法。如果没有给出值,DefaultExpression 将允许您选择一个值。这些对于单字段验证很有用。如果您需要对多个字段进行更复杂的检查,则必须使用数据集或数据源事件。

无论如何,如果 Intraweb 网格向服务器发送整个记录而不是单个字段编辑,您可能不会在输入网格时验证字段,而是添加代码客户端。

于 2011-05-23T11:08:56.610 回答
1

如果您想要基于字段的验证,您可以处理将网格连接到数据集的 TDatasource 的 OnDataChange 事件。只要用户更改了字段,就会触发此操作。您应该知道它也会在其他一些情况下触发。

于 2011-05-23T10:51:51.677 回答