Partager via


ChangeType, énumération

Fournit des informations sur la manière dont un contrôle ListObject a restauré des données modifiées par un utilisateur.

Espace de noms :  Microsoft.Office.Tools.Excel
Assembly :  Microsoft.Office.Tools.Excel (dans Microsoft.Office.Tools.Excel.dll)

Syntaxe

'Déclaration
Public Enumeration ChangeType
public enum ChangeType

Membres

Nom de membre Description
ColumnAdded Une colonne a été ajoutée au contrôle ListObject.
ColumnHeaderRestored Le texte de l'en-tête de colonne a été restauré à sa valeur d'origine.
ColumnRemoved Une colonne a été supprimée du contrôle ListObject.
RangeValueRestored Les valeurs d'une plage ont été restaurées à celles de la source de données.
RowAdded Une ligne a été ajoutée au contrôle ListObject.
RowRemoved Une ligne a été supprimée du contrôle ListObject.

Notes

Lorsque le contrôle ListObject est lié à des données et que l'utilisateur exécute une opération non autorisée, le contrôle ListObject est restauré à son état antérieur et déclenche l'événement OriginalDataRestored. L'énumération ChangeType fournit des informations sur le type de restauration qui s'est produite.

Exemples

L'exemple de code suivant crée un DataTable et un ListObject, et lie ListObject à DataTable. Il crée ensuite un gestionnaire d'événements OriginalDataRestored. Pour tester l'événement, cliquez avec le bouton droit sur une lettre de colonne au-dessus de ListObject sur la feuille 1, puis cliquez sur Supprimer dans le menu contextuel. Le gestionnaire d'événements remplace les données de colonne et d'en-tête de colonne et affiche un message indiquant le type de données restaurées et la raison de la restauration des données d'origine.

Cet exemple illustre une personnalisation au niveau du document.

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

Voir aussi

Référence

Microsoft.Office.Tools.Excel, espace de noms