Gewusst wie: Anzeigen von Fehlern innerhalb eines Datasets mit der ErrorProvider-Komponente in Windows Forms
Mit der ErrorProvider-Komponente in Windows Forms können Sie Spaltenfehler innerhalb eines Datasets oder einer anderen Datenquelle anzeigen. Eine ErrorProvider-Komponente muss nicht direkt einem Steuerelement zugeordnet sein, um Datenfehler auf einem Formular anzuzeigen. Sobald es an eine Datenquelle gebunden ist, kann es neben jedem Steuerelement, das an dieselbe Datenquelle gebunden ist, ein Fehlersymbol anzeigen.
Tipp
Wenn Sie die DataSource-Eigenschaft und die DataMember-Eigenschaft der ErrorProvider-Komponente zur Laufzeit ändern, sollten Sie die BindToDataAndErrors-Methode verwenden, um Konflikte zu vermeiden.
So zeigen Sie Datenfehler an
Binden Sie die Komponente an eine bestimmte Spalte innerhalb einer Datentabelle.
' 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");
Legen Sie für das Formular die ContainerControl-Eigenschaft fest.
ErrorProvider1.ContainerControl = Me
errorProvider1.ContainerControl = this;
errorProvider1.set_ContainerControl(this);
Legen Sie als Position des aktuellen Datensatzes eine Zeile mit einem Spaltenfehler fest.
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);