Compartilhar via


Enumeração ChangeReason

Fornece o motivo pelo qual os dados originais foi restaurados para um ListObject que está vinculado a dados.

Namespace:  Microsoft.Office.Tools.Excel
Assembly:  Microsoft.Office.Tools.Excel (em Microsoft.Office.Tools.Excel.dll)

Sintaxe

'Declaração
Public Enumeration ChangeReason
public enum ChangeReason

Membros

Nome do membro Descrição
DataBoundColumnHeaderIsAutoSet Quando o AutoSetDataBoundColumnHeaders propriedade da ListObject controle estiver definida como true, o ListObject controle não permite ao usuário alterar os cabeçalhos de coluna.
ErrorInCommit Uma alteração nos dados da ListObject não pôde ser comprometida com a fonte de dados que o controle está vinculado ao controle.
FixedLengthDataSource A fonte de dados que o ListObject controle está vinculado não permite a adição ou remoção de linhas.
FixedNumberOfColumnsInDataBoundList O ListObject controle não permite colunas sejam adicionados ou removidos depois que ele é ligado a dados.
Other Os dados originais restaurados porque um motivo não especificado por quaisquer outras ChangeReason valores.
ReadOnlyDataSource A fonte de dados que o ListObject o controle está acoplado é somente leitura.

Comentários

Quando o ListObject está vinculado a dados e o usuário executa uma operação que não é permitida, o ListObject restaurado ao estado anterior e eleva o OriginalDataRestored evento. O ChangeReason enumeração fornece informações sobre por que esta restauração ocorreu.

Exemplos

O exemplo de código a seguir cria um DataTable e um ListObjecte vincula o ListObject para o DataTable. Em seguida, cria um OriginalDataRestored manipulador de eventos. Para testar o evento, clique com o botão direito uma letra de coluna acima de ListObject na planilha 1 e, em seguida, clique em Excluir no menu de atalho. O manipulador de eventos substitui a coluna e os dados de cabeçalho de coluna e exibe uma mensagem indicando o tipo de dados foi restaurado e o motivo que os dados originais foi restaurados.

Este exemplo é para uma personalização em nível de 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() + ".");
}

Consulte também

Referência

Namespace Microsoft.Office.Tools.Excel