BeforeAddDataBoundRowEventHandler-Delegat
Stellt die Methode dar, die das BeforeAddDataBoundRow-Ereignis von ListObject behandelt.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
Public Delegate Sub BeforeAddDataBoundRowEventHandler ( _
sender As Object, _
e As BeforeAddDataBoundRowEventArgs _
)
public delegate void BeforeAddDataBoundRowEventHandler(
Object sender,
BeforeAddDataBoundRowEventArgs e
)
Parameter
- sender
Typ: System.Object
Die Quelle des Ereignisses.
- e
Typ: Microsoft.Office.Tools.Excel.BeforeAddDataBoundRowEventArgs
Ein BeforeAddDataBoundRowEventArgs, das die Ereignisdaten enthält.
Hinweise
Beim Erstellen eines BeforeAddDataBoundRowEventHandler-Delegaten bestimmen Sie die Methode für die Ereignisbehandlung.Um das Ereignis mit dem Ereignishandler zu verknüpfen, fügen Sie dem Ereignis eine Instanz des Delegaten hinzu.Der Ereignishandler wird bei jedem Auftreten des Ereignisses aufgerufen, bis Sie den Delegaten entfernen.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 Ereignishandler für BeforeAddDataBoundRow erstellt, der das Hinzufügen der neuen Zeile abbricht.Sie können das Ereignis testen, indem Sie dem ListObject auf Blatt 1 manuell eine neue Zeile hinzufügen.
Dieses Beispiel bezieht sich auf eine Anpassung auf Dokumentebene.
WithEvents BeforeAddDataBoundRowList As _
Microsoft.Office.Tools.Excel.ListObject
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"
dt.Rows.Add(dr)
' Create a list object.
BeforeAddDataBoundRowList = _
Me.Controls.AddListObject(Me.Range("A1"), _
"BeforeAddDataBoundRowList")
' 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";
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.BeforeAddDataBoundRow += new
Microsoft.Office.Tools.Excel.
BeforeAddDataBoundRowEventHandler(
list1_BeforeAddDataBoundRow);
}
void list1_BeforeAddDataBoundRow(object sender,
Microsoft.Office.Tools.Excel.BeforeAddDataBoundRowEventArgs e)
{
e.Cancel = true;
MessageBox.Show("This data is read-only.");
}