Condividi tramite


Delegato BeforeAddDataBoundRowEventHandler

Rappresenta il metodo che gestirà l'evento BeforeAddDataBoundRow di un oggetto ListObject.

Spazio dei nomi:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)

Sintassi

'Dichiarazione
Public Delegate Sub BeforeAddDataBoundRowEventHandler ( _
    sender As Object, _
    e As BeforeAddDataBoundRowEventArgs _
)
public delegate void BeforeAddDataBoundRowEventHandler(
    Object sender,
    BeforeAddDataBoundRowEventArgs e
)

Parametri

Note

Quando si crea un delegato BeforeAddDataBoundRowEventHandler, si identifica il metodo che gestirà l'evento. Per associare l'evento al gestore eventi, è necessario aggiungere all'evento un'istanza del delegato. Il gestore eventi viene chiamato ogni volta che si verifica l'evento, finché non viene rimosso il delegato. Per ulteriori informazioni sui delegati, vedere Eventi e delegati.

Esempi

Nell'esempio di codice riportato di seguito viene creato un oggetto DataTable e un controllo ListObject, quindi viene eseguita l'associazione tra il controllo ListObject e l'oggetto DataTable. Viene infine creato un gestore eventi BeforeAddDataBoundRow che annulla l'aggiunta della nuova riga. Per eseguire il test dell'evento, aggiungere manualmente una nuova riga al controllo ListObject nel foglio 1.

Questo esempio è valido per una personalizzazione a livello di documento.

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

Vedere anche

Riferimenti

Spazio dei nomi Microsoft.Office.Tools.Excel