Freigeben über


ListObject.ErrorAddDataBoundRow-Ereignis (2007 System)

Aktualisiert: Juli 2008

Tritt auf, wenn ein Benutzer versucht, einem datengebundenen ListObject-Steuerelement eine Zeile hinzuzufügen, die Zeile aber nicht hinzugefügt werden kann.

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

Syntax

Public Event ErrorAddDataBoundRow As ErrorAddDataBoundRowEventHandler

Dim instance As ListObject
Dim handler As ErrorAddDataBoundRowEventHandler

AddHandler instance.ErrorAddDataBoundRow, handler
public event ErrorAddDataBoundRowEventHandler ErrorAddDataBoundRow

Hinweise

Dieses Ereignis wird nur ausgelöst, wenn das ListObject-Steuerelement an Daten gebunden ist.

Behandeln Sie dieses Ereignis, um zu versuchen, möglicherweise aufgetretene Fehler zu korrigieren.

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.

Diese Version 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.");
}

Diese Version bezieht sich auf ein Add-In auf Anwendungsebene. Fügen Sie zur Verwendung dieses Codebeispiels die using System.Data;-Direktive hinzu, wenn Sie C# verwenden, bzw. die Imports System.Data-Anweisung, wenn Sie Visual Basic verwenden.

WithEvents ErrorAddDataBoundRowList As 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.
    Dim vstoWorksheet As Worksheet = CType( _
        Me.Application.ActiveWorkbook.Worksheets(1),  _
        Excel.Worksheet).GetVstoObject()
    ErrorAddDataBoundRowList = _
        vstoWorksheet.Controls.AddListObject(vstoWorksheet.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
    System.Windows.Forms.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.
    Worksheet vstoWorksheet = ((Excel.Worksheet)
        this.Application.ActiveWorkbook.Worksheets[1]).GetVstoObject();
    ListObject list1 =
        vstoWorksheet.Controls.AddListObject(
        vstoWorksheet.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
        ErrorAddDataBoundRowEventHandler(list1_ErrorAddDataBoundRow);
}

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

Berechtigungen

Siehe auch

Referenz

ListObject-Klasse

ListObject-Member

Microsoft.Office.Tools.Excel-Namespace

Änderungsprotokoll

Date

Versionsgeschichte

Grund

Juli 2008

Version des Codebeispiels für ein Add-In auf Anwendungsebene hinzugefügt.

SP1-Featureänderung.