Поделиться через


Практическое руководство. Индикация ошибок данных, содержащихся в объекте DataSet, с помощью компонента ErrorProvider в Windows Forms

Обновлен: Ноябрь 2007

Компонент Windows Forms ErrorProvider может использоваться для просмотра ошибок в столбцах набора данных или другого источника данных. Для отображения ошибок данных в форме компонент ErrorProvider не должен быть непосредственно связан с элементом управления. После привязки к источнику данных он может отображать значок ошибки рядом с элементом управления, привязанным к тому же источнику данных.

c6y7xzc1.alert_note(ru-ru,VS.90).gifПримечание.

Если свойства DataSource и DataMember поставщика ошибок изменены во время выполнения, для предотвращения конфликтов необходимо использовать метод BindToDataAndErrors.

Чтобы отобразить ошибки данных

  1. Привяжите этот компонент к конкретному столбцу в таблице данных.

    ' Assumes existence of DataSet1, DataTable1
    TextBox1.DataBindings.Add("Text", DataSet1, "Customers.Name")
    ErrorProvider1.DataSource = DataSet1
    ErrorProvider1.DataMember = "Customers"
    
    // Assumes existence of DataSet1, DataTable1
    textBox1.DataBindings.Add("Text", DataSet1, "Customers.Name");
    errorProvider1.DataSource = DataSet1;
    errorProvider1.DataMember = "Customers";
    
    // Assumes existence of DataSet1, DataTable1
    textBox1.get_DataBindings().Add("Text", DataSet1, "Customers.Name");
    errorProvider1.set_DataSource(DataSet1);
    errorProvider1.set_DataMember("Customers");
    
  2. Укажите в свойстве ContainerControl форму.

    ErrorProvider1.ContainerControl = Me
    
    errorProvider1.ContainerControl = this;
    
    errorProvider1.set_ContainerControl(this);
    
  3. Задайте в качестве позиции текущей записи строку, содержащую ошибку столбца.

    DataTable1.Rows(5).SetColumnError("Name", "Bad data in this row.")
    Me.BindingContext(DataTable1).Position = 5
    
    DataTable1.Rows[5].SetColumnError("Name", "Bad data in this row.");
    this.BindingContext [DataTable1].Position = 5;
    
    DataTable1.get_Rows().get_Item(5).SetColumnError("Name",
       "Bad data in this row.");
    this.get_BindingContext().get_Item(DataTable1).set_Position(5);
    

См. также

Задачи

Практическое руководство. Отображение значков ошибок при проверке введенных в форму данных с помощью компонента ErrorProvider в Windows Forms

Ссылки

Общие сведения о компоненте ErrorProvider (Windows Forms)