0

国と呼ばれるテーブルを使用するriaドメインサービスでDataFormを使用しています。[OK]をクリックした後、データフォームがテーブルに新しい国を自動的に追加しないため、データフォームのEditEndingイベントでそれを行うコードを記述しました。

しかし、なぜEditEndingイベントの後にユーザー入力の検証が行われるのでしょうか。

名前のない新しい国を追加すると、EditEndingに入る前に検証エラーが表示されますが、現時点では検証エラーはありません。イベントが発生した後、検証エラーが発生します。

自動検証を使用してコードを機能させるにはどうすればよいですか?

private void CountryDataForm_EditEnding(object sender, DataFormEditEndingEventArgs e)
    {
        if (e.EditAction == DataFormEditAction.Commit)
        {
            if (CountryDataForm.Mode == DataFormMode.AddNew)
            {
                if (!CountryDataForm.ValidationSummary.HasErrors)
                {
                    Country item = CountryDataForm.CurrentItem as Country;
                    item.CountryID = Guid.NewGuid();
                    GridData.SubmitChanges();
                }
            }
        }
    }
4

1 に答える 1

0

わかりました、私は解決策を見つけました。EditEnding-Eventで変更をコミットしようとしました。これは、DataFormのEditEnded-Eventで発生するはずです。

于 2012-08-10T08:14:38.057 に答える