Compartir a través de


ChangeType (Enumeración)

Proporciona información sobre cómo un control ListObject ha restaurado datos cambiados por un usuario.

Espacio de nombres:  Microsoft.Office.Tools.Excel
Ensamblado:  Microsoft.Office.Tools.Excel (en Microsoft.Office.Tools.Excel.dll)

Sintaxis

'Declaración
Public Enumeration ChangeType
public enum ChangeType

Miembros

Nombre de miembro Descripción
ColumnAdded Se ha agregado una columna al control ListObject.
ColumnHeaderRestored El texto del encabezado de columna se ha restaurado a su valor original.
ColumnRemoved Se ha quitado una columna del control ListObject.
RangeValueRestored Los valores de un rango se restauraron a los valores del origen de datos.
RowAdded Se ha agregado una fila al control ListObject.
RowRemoved Se ha quitado una fila del control ListObject.

Comentarios

Cuando el control ListObject se enlaza a datos y el usuario realiza una operación que no se permite, el control ListObject se restaura a su estado anterior y provoca el evento OriginalDataRestored.La enumeración ChangeType proporciona información sobre el tipo de restauración que se ha producido.

Ejemplos

El ejemplo de código siguiente crea DataTable y ListObject, y enlaza el control ListObject al control DataTable.A continuación, crea un controlador de eventos OriginalDataRestored.Para probar el evento, haga clic con el botón secundario en una letra de columna sobre el control ListObject en la hoja 1 y, a continuación, haga clic en Eliminar en el menú contextual.El controlador de eventos reemplaza los datos del encabezado de columna y de la columna, y muestra un mensaje en el que indica qué tipo de datos se han restaurado y la razón por la que se han restaurado los datos originales.

Se trata de un ejemplo para una personalización en el nivel del 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"], "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() + ".");
}

Vea también

Referencia

Microsoft.Office.Tools.Excel (Espacio de nombres)