BeforeAddDataBoundRowEventArgs Class (2007 System)

Provides data for the BeforeAddDataBoundRow event.

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


<PermissionSetAttribute(SecurityAction.Demand, Name := "FullTrust")> _
Public NotInheritable Class BeforeAddDataBoundRowEventArgs _
    Inherits EventArgs
Dim instance As BeforeAddDataBoundRowEventArgs
[PermissionSetAttribute(SecurityAction.Demand, Name = "FullTrust")]
public sealed class BeforeAddDataBoundRowEventArgs : EventArgs
[PermissionSetAttribute(SecurityAction::Demand, Name = L"FullTrust")]
public ref class BeforeAddDataBoundRowEventArgs sealed : public EventArgs
public final class BeforeAddDataBoundRowEventArgs extends EventArgs


The BeforeAddDataBoundRow event occurs before a new row is added to a data source that is bound to a ListObject.


The following code example creates a DataTable and a ListObject, and binds the ListObject to the DataTable. It then creates a BeforeAddDataBoundRow event handler that cancels the addition of the new row. To test the event, manually add a new row to the ListObject on sheet 1.

This example is for a document-level customization.

WithEvents BeforeAddDataBoundRowList As _
Private Sub ListObject_BeforeAddDataBoundRow()
    ' Create a new DataSet and DataTable. 
    Dim ds As New DataSet()
    Dim dt As DataTable = ds.Tables.Add("Customers")
    dt.Columns.Add(New DataColumn("LastName"))
    dt.Columns.Add(New DataColumn("FirstName"))

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

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

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

Private Sub List1_BeforeAddDataBoundRow(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Excel.BeforeAddDataBoundRowEventArgs) _
    Handles BeforeAddDataBoundRowList.BeforeAddDataBoundRow
    e.Cancel = True
    MessageBox.Show("This data is read-only.")

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

    // 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.BeforeAddDataBoundRow += new 

void list1_BeforeAddDataBoundRow(object sender, 
    Microsoft.Office.Tools.Excel.BeforeAddDataBoundRowEventArgs e)
    e.Cancel = true;
    MessageBox.Show("This data is read-only.");

Inheritance Hierarchy


Thread Safety

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

See Also


BeforeAddDataBoundRowEventArgs Members

Microsoft.Office.Tools.Excel Namespace