Share via


ErrorAddDataBoundRowEventHandler-Delegat

Erstellen Sie eine Methode, die das ErrorAddDataBoundRow-Ereignis verarbeitet.

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

Syntax

'Declaration
Public Delegate Sub ErrorAddDataBoundRowEventHandler ( _
    sender As Object, _
    e As ErrorAddDataBoundRowEventArgs _
)
public delegate void ErrorAddDataBoundRowEventHandler(
    Object sender,
    ErrorAddDataBoundRowEventArgs e
)

Parameter

Hinweise

Beim Erstellen eines ErrorAddDataBoundRowEventHandler-Delegaten geben Sie die Methode für die Ereignisbehandlung an. Um das Ereignis dem Ereignishandler zuzuordnen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu. Solange Sie den Delegaten nicht entfernen, wird der Ereignishandler immer dann aufgerufen, wenn das Ereignis auftritt. Weitere Informationen über Delegaten finden Sie unter Ereignisse und Delegaten.

Beispiele

Im folgenden Codebeispiel werden eine DataTable und ein ListObject erstellt, und das ListObject wird an die DataTable gebunden. Anschließend wird ein ErrorAddDataBoundRow-Ereignishandler erstellt. Sie können das Ereignis testen, indem Sie dem ListObject manuell eine neue Zeile hinzufügen und den Nachnamen "Chan" sowie einen Vornamen eingeben. Der Ereignishandler zeigt eine Meldung an.

Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.

    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

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", missing], "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.");
}

Siehe auch

Referenz

Microsoft.Office.Tools.Excel-Namespace