DataGrid Validation.Error Not Called - PullRequest
       5

DataGrid Validation.Error Not Called

1 голос
/ 23 октября 2011

Когда SelectedItem.DT выдает ошибку Validation_Error не вызывается?DT - это DataTable из запроса SQL, и я хочу отобразить ошибку SQL, если TSQL завершится неудачно.Я думаю, я мог бы создать DataTable и положить ex.msg в таблицу.Но я бы скорее вызвал Validation_Error.

    <DataGrid Grid.Row="1" Grid.Column="0" AutoGenerateColumns="True"  
              ItemsSource="{Binding ElementName=cbReports, Path=SelectedItem.DT, ValidatesOnExceptions=True, NotifyOnValidationError=True, NotifyOnSourceUpdated=True}"
              Validation.Error="Validataion_Error" />

Этот TextBox (на другой странице) действительно вызывает Validation_Error, когда в наборе выдается ошибка.

    <TextBox Text="{Binding Path=DF.FieldValue, Mode=TwoWay, ValidatesOnExceptions=True, NotifyOnValidationError=True}"
             Validation.Error="Validataion_Error"/>

1 Ответ

0 голосов
/ 23 октября 2011

DataTable не реализован IDataErrorInfo , тогда он не сделает никакой ошибки проверки автоматически для вас.Я всегда преобразую DataTable в ObservableCollection моего класса, который реализует IDataErrorInfo.

public class MyClass : IDataErrorInfo
{
    //..
}

// Use ObservableCollection instead of DataTable
ObservableCollection<MyClass> MyDataGridItemsSource { get; set; }

Я предполагаю, что причина, по которой ваша привязка к текстовому полю работает, DF, в вашей DF.FieldValue реализована IDataErrorInfo.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...