1

clientdataset を使用している Delphi 7 のアプリケーションがあり、それに対していくつかの操作を行います。ClientDataSet は Intraweb Grid にリンクされています。

ClientDataSet で挿入または編集を行います。各フィールドの clientdataset に導入されたデータを確認するにはどうすればよいですか? Web フォームでユーザーからの入力を検証できないため、ClientDataSet イベントを使用して検証を行う必要があります。

LE: ユーザーが入力したときにデータを検証したい。onbeforepost イベントではありません。そのため、clientdataset を編集/挿入に入れました。ユーザーはグリッドに入力を行い、次の画像のように clientdataset のその行のデータを検証したいと思います。

ここに画像の説明を入力

最初の列は文字列、2 番目の列は整数、3 番目の列も整数です。ここで、ユーザーが入力を行った後、3 番目の列を検証したいと思います。この検証は (可能であれば) clientdataset イベント/ハックを使用してのみ行う必要があります。

4

3 に答える 3

3

TClientDataset BeforePostイベントを処理する必要があります。データが有効でない場合は、中止メソッドを使用します

于 2011-05-23T10:11:15.477 に答える
3

TField には、そのための OnValidate イベントがあります。また、制約に SQL のような構文を使用できる CustomConstrain プロパティもあります。DefaultExpression では、値が指定されていない場合に値を選択できます。これらは、単一フィールドの検証に役立ちます。複数のフィールドでより複雑なチェックが必要な場合は、データセットまたはデータソース イベントを使用する必要があります。

いずれにせよ、Intraweb グリッドが単一のフィールド編集ではなくレコード全体をサーバーに送信する場合は、フィールドがグリッドに入力されたときにフィールドを検証せず、コード クライアント側を追加することがあります。

于 2011-05-23T11:08:56.610 に答える
1

フィールド ベースの検証が必要な場合は、グリッドをデータセットに接続する TDatasource の OnDataChange イベントを処理できます。これは、フィールドがユーザーによって変更されるたびにトリガーされます。他の状況でもトリガーされることに注意してください。

于 2011-05-23T10:51:51.677 に答える