Condividi tramite


Evento ListObject.OriginalDataRestored (System 2007)

Aggiornamento: Luglio 2008

Si verifica quando un utente esegue un'azione non consentita e viene ripristinato lo stato originale del controllo ListObject.

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

Sintassi

Public Event OriginalDataRestored As OriginalDataRestoredEventHandler

Dim instance As ListObject
Dim handler As OriginalDataRestoredEventHandler

AddHandler instance.OriginalDataRestored, handler
public event OriginalDataRestoredEventHandler OriginalDataRestored

Note

Questo evento viene ad esempio generato quando un utente apporta modifiche a dati in sola lettura. Il controllo ListObject annulla le modifiche e ripristina i valori originali.

Questo evento fornisce informazioni in una enumerazione che contiene gli elementi ripristinati e il motivo del ripristino.

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 per l'evento OriginalDataRestored. Per eseguire il test dell'evento, fare clic con il pulsante destro del mouse su una lettera di colonna sopra l'oggetto ListObject nel foglio 1, quindi scegliere Elimina dal menu di scelta rapida. Il gestore eventi sostituirà i dati della colonna e dell'intestazione di colonna e visualizzerà un messaggio per ciascuna azione.

Questa versione è valida per una personalizzazione a livello di documento.

WithEvents OriginalDataRestoredList As _
    Microsoft.Office.Tools.Excel.ListObject
Private Sub ListObject_OriginalDataRestored()
    ' 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"))

    ' Add two new rows to the DataTable.
    Dim dr1 As DataRow = dt.NewRow()
    dr1("LastName") = "Chan"
    dr1("FirstName") = "Gareth"
    dt.Rows.Add(dr1)
    Dim dr2 As DataRow = dt.NewRow()
    dr2("LastName") = "Nitsche"
    dr2("FirstName") = "Sonja"
    dt.Rows.Add(dr2)

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

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

Private Sub List1_OriginalDataRestored(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Excel.OriginalDataRestoredEventArgs) _
    Handles OriginalDataRestoredList.OriginalDataRestored
    MessageBox.Show("This data is bound to a data source and " & _
    "will be restored. This change is: " & e.ChangeType.ToString() & _
    ". The reason is: " & e.ChangeReason.ToString() + ".")
End Sub

private void ListObject_OriginalDataRestored()
{
    // 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"));

    // Add two new rows to the DataTable.
    DataRow dr1 = dt.NewRow();
    dr1["LastName"] = "Chan";
    dr1["FirstName"] = "Gareth";
    dt.Rows.Add(dr1);
    DataRow dr2 = dt.NewRow();
    dr2["LastName"] = "Nitsche";
    dr2["FirstName"] = "Sonja";
    dt.Rows.Add(dr2);

    // 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.OriginalDataRestored += new 
        Microsoft.Office.Tools.Excel.
        OriginalDataRestoredEventHandler(list1_OriginalDataRestored);
}

void list1_OriginalDataRestored(object sender, 
    Microsoft.Office.Tools.Excel.OriginalDataRestoredEventArgs e)
{
    MessageBox.Show("This data is bound to a data source and " +
    "will be restored. This change is: " + e.ChangeType.ToString() +
    ". The reason is: " + e.ChangeReason.ToString() + ".");
}

Questa versione è valida per un componente aggiuntivo a livello di applicazione. Per utilizzare questo esempio di codice, aggiungere la direttiva using System.Data; se si utilizza C# o l'istruzione Imports System.Data se si utilizza Visual Basic.

WithEvents OriginalDataRestoredList As ListObject
Private Sub ListObject_OriginalDataRestored()
    ' 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"))

    ' Add two new rows to the DataTable.
    Dim dr1 As DataRow = dt.NewRow()
    dr1("LastName") = "Chan"
    dr1("FirstName") = "Gareth"
    dt.Rows.Add(dr1)
    Dim dr2 As DataRow = dt.NewRow()
    dr2("LastName") = "Nitsche"
    dr2("FirstName") = "Sonja"
    dt.Rows.Add(dr2)

    ' Create a list object.
    Dim vstoWorksheet As Worksheet = CType( _
        Me.Application.ActiveWorkbook.Worksheets(1),  _
        Excel.Worksheet).GetVstoObject()
    OriginalDataRestoredList = vstoWorksheet.Controls.AddListObject( _
        vstoWorksheet.Range("A1"), "OriginalDataRestoredList")

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

Private Sub List1_OriginalDataRestored(ByVal sender As Object, _
    ByVal e As Microsoft.Office.Tools.Excel.OriginalDataRestoredEventArgs) _
    Handles OriginalDataRestoredList.OriginalDataRestored
    System.Windows.Forms.MessageBox.Show( _
        "This data is bound to a data source and " & _
        "will be restored. This change is: " & e.ChangeType.ToString() & _
        ". The reason is: " & e.ChangeReason.ToString() + ".")
End Sub
private void ListObject_OriginalDataRestored()
{
    // 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"));

    // Add two new rows to the DataTable.
    DataRow dr1 = dt.NewRow();
    dr1["LastName"] = "Chan";
    dr1["FirstName"] = "Gareth";
    dt.Rows.Add(dr1);
    DataRow dr2 = dt.NewRow();
    dr2["LastName"] = "Nitsche";
    dr2["FirstName"] = "Sonja";
    dt.Rows.Add(dr2);

    // 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.OriginalDataRestored += new
        OriginalDataRestoredEventHandler(list1_OriginalDataRestored);
}

void list1_OriginalDataRestored(object sender,
    Microsoft.Office.Tools.Excel.OriginalDataRestoredEventArgs e)
{
    System.Windows.Forms.MessageBox.Show("This data is bound to a data source and " +
    "will be restored. This change is: " + e.ChangeType.ToString() +
    ". The reason is: " + e.ChangeReason.ToString() + ".");
}

Autorizzazioni

Vedere anche

Riferimenti

ListObject Classe

Membri ListObject

Spazio dei nomi Microsoft.Office.Tools.Excel

Cronologia delle modifiche

Date

History

Motivo

Luglio 2008

Aggiunta una versione dell'esempio di codice per un componente aggiuntivo a livello di applicazione.

Modifica di funzionalità in SP1.