BeforeAddDataBoundRowEventHandler Делегат (2007 System)
Обновлен: Ноябрь 2007
Представляет метод, обрабатывающий событие BeforeAddDataBoundRow класса ListObject.
Пространство имен: Microsoft.Office.Tools.Excel
Сборка: Microsoft.Office.Tools.Excel.v9.0 (в Microsoft.Office.Tools.Excel.v9.0.dll)
Синтаксис
'Декларация
Public Delegate Sub BeforeAddDataBoundRowEventHandler ( _
sender As Object, _
e As BeforeAddDataBoundRowEventArgs _
)
'Применение
Dim instance As New BeforeAddDataBoundRowEventHandler(AddressOf HandlerMethod)
public delegate void BeforeAddDataBoundRowEventHandler(
Object sender,
BeforeAddDataBoundRowEventArgs e
)
Параметры
- sender
Тип: System.Object
Источник события.
- e
Тип: Microsoft.Office.Tools.Excel.BeforeAddDataBoundRowEventArgs
BeforeAddDataBoundRowEventArgs , содержащий данные события.
Заметки
При создании делегата BeforeAddDataBoundRowEventHandler указывается метод обработки события. Чтобы связать событие с обработчиком событий, в событие нужно добавить экземпляр делегата. Обработчик событий вызывается при любом возникновении события, пока не будет удален делегат. Дополнительные сведения о делегатах см. в разделе События и делегаты.
Примеры
В следующем примере кода создаются объекты DataTable и ListObject, после чего элемент управления ListObject связывается с DataTable. Затем он создает обработчик событий BeforeAddDataBoundRow, который отменяет добавление новой строки. Чтобы протестировать событие, необходимо вручную добавить новую строку в элемент управления ListObject на листе 1.
В этом примере демонстрируется настройка уровня документа.
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", missing], "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.");
}