ErrorProvider.DataSource Property

Gets or sets the data source that the ErrorProvider monitors.

Namespace: System.Windows.Forms
Assembly: System.Windows.Forms (in

property Object^ DataSource {
	Object^ get ();
	void set (Object^ value);
/** @property */
public Object get_DataSource ()

/** @property */
public void set_DataSource (Object value)

public function get DataSource () : Object

public function set DataSource (value : Object)

Not applicable.

Property Value

A data source based on the IList interface to be monitored for errors. Typically, this is a DataSet to be monitored for errors.

The DataSource is a data source that you can attach to a control and that you want to monitor for errors. DataSource can be set to any collection that implements IList.

To avoid conflicts at run time that can occur when changing DataSource and DataMember, you should use BindToDataAndErrors instead of setting DataSource and DataMember individually.

The following code example shows how to use the ErrorProvider with a DataSource and DataMember to indicate a data error to the user. This code assumes you have created and populated a DataSet named dataSet1 containing a DataTable named dataTable1. When you bind the DataSet to a control such as the DataGridView control, errors specified through DataRow objects appear as error glyphs in the DataGridView control.

   void InitializeComponent()
      // Standard control setup.
      // You set the DataSource to a data set, and the DataMember to a table.
      errorProvider1->DataSource = dataSet1;
      errorProvider1->DataMember = dataTable1->TableName;
      errorProvider1->ContainerControl = this;
      errorProvider1->BlinkRate = 200;
      // Since the ErrorProvider control does not have a visible component,
      // it does not need to be added to the form. 

   void buttonSave_Click( Object^ /*sender*/, System::EventArgs^ /*e*/ )
      // Checks for a bad post code.
      DataTable^ CustomersTable;
      CustomersTable = dataSet1->Tables[ "Customers" ];
      System::Collections::IEnumerator^ myEnum = (CustomersTable->Rows)->GetEnumerator();
      while ( myEnum->MoveNext() )
         DataRow^ row = safe_cast<DataRow^>(myEnum->Current);
         if ( Convert::ToBoolean( row[ "PostalCodeIsNull" ] ) )
            row->RowError = "The Customer details contain errors";
            row->SetColumnError( "PostalCode", "Postal Code required" );

Windows 98, Windows Server 2000 SP4, Windows CE, Windows Millennium Edition, Windows Mobile for Pocket PC, Windows Mobile for Smartphone, Windows Server 2003, Windows XP Media Center Edition, Windows XP Professional x64 Edition, Windows XP SP2, Windows XP Starter Edition

The Microsoft .NET Framework 3.0 is supported on Windows Vista, Microsoft Windows XP SP2, and Windows Server 2003 SP1.

.NET Framework

Supported in: 3.0, 2.0, 1.1, 1.0