Практическое руководство. Индикация ошибок данных, содержащихся в объекте DataSet, с помощью компонента ErrorProvider в Windows Forms
Обновлен: Ноябрь 2007
Компонент Windows Forms ErrorProvider может использоваться для просмотра ошибок в столбцах набора данных или другого источника данных. Для отображения ошибок данных в форме компонент ErrorProvider не должен быть непосредственно связан с элементом управления. После привязки к источнику данных он может отображать значок ошибки рядом с элементом управления, привязанным к тому же источнику данных.
Примечание. |
---|
Если свойства DataSource и DataMember поставщика ошибок изменены во время выполнения, для предотвращения конфликтов необходимо использовать метод BindToDataAndErrors. |
Чтобы отобразить ошибки данных
Привяжите этот компонент к конкретному столбцу в таблице данных.
' 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");
Укажите в свойстве ContainerControl форму.
ErrorProvider1.ContainerControl = Me
errorProvider1.ContainerControl = this;
errorProvider1.set_ContainerControl(this);
Задайте в качестве позиции текущей записи строку, содержащую ошибку столбца.
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);