Partager via


ErrorAddDataBoundRowEventArgs Interface

Definition

Provides information for the ErrorAddDataBoundRow event.

public interface class ErrorAddDataBoundRowEventArgs
[System.Runtime.InteropServices.Guid("eca34a5d-a43c-4be4-a24a-49d49ae4519b")]
public interface ErrorAddDataBoundRowEventArgs
[<System.Runtime.InteropServices.Guid("eca34a5d-a43c-4be4-a24a-49d49ae4519b")>]
type ErrorAddDataBoundRowEventArgs = interface
Public Interface ErrorAddDataBoundRowEventArgs
Attributes

Examples

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.

This example is for a document-level customization.

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(lastName);
    dt.Columns.Add(new DataColumn("FirstName"));

    UniqueConstraint myUC = new UniqueConstraint( "CustConstraint", 
        lastName);
    dt.Constraints.Add(myUC);

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

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

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

    // Create the event handler.
    list1.ErrorAddDataBoundRow += new 
        Microsoft.Office.Tools.Excel.
        ErrorAddDataBoundRowEventHandler(list1_ErrorAddDataBoundRow);
}

void list1_ErrorAddDataBoundRow(object sender, 
    Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs e)
{
    MessageBox.Show("Last names must be unique.");
}
WithEvents ErrorAddDataBoundRowList As _
    Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_ErrorAddDataBoundRow()
    ' Create a new DataSet and DataTable.
    Dim ds As New DataSet()
    Dim dt As DataTable = ds.Tables.Add("Customers")
    Dim lastName As New DataColumn("LastName")
    dt.Columns.Add(lastName)
    dt.Columns.Add(New DataColumn("FirstName"))

    Dim myUC As New UniqueConstraint("CustConstraint", _
        lastName)
    dt.Constraints.Add(myUC)

    ' Add a new row to the DataTable.
    Dim dr As DataRow = dt.NewRow()
    dr("LastName") = "Chan"
    dr("FirstName") = "Gareth"
    dt.Rows.Add(dr)

    ' Create a list object.
    ErrorAddDataBoundRowList = _
        Me.Controls.AddListObject(Me.Range("A1"), _
        "ErrorAddDataBoundRowList")

    ' Bind the list object to the DataTable.
    ErrorAddDataBoundRowList.AutoSetDataBoundColumnHeaders = True
    ErrorAddDataBoundRowList.SetDataBinding(ds, "Customers", _
        "LastName", "FirstName")
End Sub


Private Sub List1_ErrorAddDataBoundRow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Excel.ErrorAddDataBoundRowEventArgs) _
    Handles ErrorAddDataBoundRowList.ErrorAddDataBoundRow
    MessageBox.Show("Last names must be unique.")

End Sub

Remarks

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.

Properties

InnerException

Gets the Exception instance that caused the current exception.

Item

Gets the new item that the ListObject attempted to add to the data source.

Retry

Gets or sets a value indicating whether the ListObject should attempt to add the item again.

Applies to