我在delphi 7中有一个应用程序,它使用clientDataSet,并对其中进行多个操作。 ClientDataset链接到IntraPeB网格。

我在clientDataset上进行插入或编辑。如何为每个字段验证在ClientDataseT中引入的数据吗?我无法在WebForm上验证来自用户的输入,因此我必须使用ClientDataset事件进行验证。

le:我想在用户制作输入时验证数据。不是在onbeforepost事件。因此,我将ClientDataset放在编辑/插入中。用户在网格中进行输入,我想在客户端的映像中验证ClientDataset中该行的数据:

第一列是字符串,第二个是整数,第三个是一个整数。现在,我想在用户进行输入后验证第三列。必须完成此验证(如果可能的话),只能使用ClientDataset Events / Hacks。

有帮助吗?

解决方案

你应该处理tclientdataset preaspost 事件,如果数据不是有效使用 abort 方法

其他提示

tfield为此目的有一个onvalidate事件。它还拥有自定义Constrain属性,可以使用SQL,如Syntax进行约束。DefaultExpression将允许您选择一个值如果没有给出任何值。这些都是为了单场验证。如果您需要更多的复杂检查,则必须使用数据集或数据源事件。

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

如果要基于字段的验证,则可以处理将网格连接到数据集的TDataSource的ondatachange事件。只要用户更改字段,就会触发这一点。您应该意识到它也将在一些其他情况下触发。

许可以下: CC-BY-SA归因
不隶属于 StackOverflow
scroll top