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 | |
---|---|---|
ReadOnlyDataSource | A fonte de dados que o ListObject o controle está acoplado é somente leitura. | |
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 que as colunas sejam adicionados ou removidos depois que ele está vinculado a dados. | |
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 controle não pôde ser confirmada para a fonte de dados, o controle está vinculado a. | |
Other | Os dados originais restaurados porque uma razão não especificada por quaisquer outras ChangeReason valores. |
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 gera a OriginalDataRestored de 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. Ele 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 Excluir no menu de atalho. O manipulador de eventos substitui a coluna e 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", 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() + ".");
}