This documentation is archived and is not being maintained.

ErrorAddDataBoundRowEventArgs Class

Provides information for the ErrorAddDataBoundRow event.

Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in

public sealed class ErrorAddDataBoundRowEventArgs : EventArgs

The ErrorAddDataBoundRow event is raised by the ListObject control if an exception occurs during an attempt to add a new row to the data source bound to the ListObject. The Item property can be used to get the new item that the ListObject tried to add. The InnerException property provides the exception that was thrown, and the Retry property can be used to indicate whether another attempt to add this row should be made.

The following code example creates a DataTable and a ListObject, and binds the ListObject to the DataTable. It then creates an ErrorAddDataBoundRow event handler. To test the event, manually add a new row to the ListObject and enter the last name "Chan" and a first name. The event handler displays a message.

private void ListObject_ErrorAddDataBoundRow()
    // Create a new DataSet and DataTable.
    DataSet ds = new DataSet();
    DataTable dt = ds.Tables.Add("Customers");
    DataColumn lastName = new DataColumn("LastName");
    dt.Columns.Add(new DataColumn("FirstName"));

    UniqueConstraint myUC = new UniqueConstraint( "CustConstraint", 

    // Add a new row to the DataTable.
    DataRow dr = dt.NewRow();
    dr["LastName"] = "Chan";
    dr["FirstName"] = "Gareth";

    // Create a list object.
    Microsoft.Office.Tools.Excel.ListObject list1 = 
        this.Range["A1", missing], "list1");

    // Bind the list object to the DataTable.
    list1.AutoSetDataBoundColumnHeaders = true;
    list1.SetDataBinding(ds, "Customers", "LastName",

    // Create the event handler.
    list1.ErrorAddDataBoundRow += new 

void list1_ErrorAddDataBoundRow(object sender, 
    Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs e)
    MessageBox.Show("Last names must be unique.");


Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.