ListObject.OriginalDataRestored-Ereignis
Tritt auf, wenn ein Benutzer eine nicht zulässige Aktion ausführt und der ursprüngliche Zustand des ListObject-Steuerelements dann wiederhergestellt wird.
Namespace: Microsoft.Office.Tools.Excel
Assembly: Microsoft.Office.Tools.Excel (in Microsoft.Office.Tools.Excel.dll)
Syntax
'Declaration
Event OriginalDataRestored As OriginalDataRestoredEventHandler
event OriginalDataRestoredEventHandler OriginalDataRestored
Hinweise
Ein Beispiel für eine Aktion, die dieses Ereignis auslösen würde, ist die Änderung von schreibgeschützten Daten durch den Benutzer. Das ListObject-Steuerelement macht die Änderungen rückgängig und stellt die ursprünglichen Werte wieder her.
Dieses Ereignis stellt Informationen in einer Enumeration bereit, die angibt, welche Daten wiederhergestellt wurden und warum dies geschah.
Beispiele
Im folgenden Codebeispiel werden eine DataTable und ein ListObject erstellt, und das ListObject wird an die DataTable gebunden. Anschließend wird ein OriginalDataRestored-Ereignishandler erstellt. Klicken Sie zum Testen des Ereignisses mit der rechten Maustaste auf einen Spaltenbuchstaben über dem ListObject auf Blatt 1 und im daraufhin geöffneten Kontextmenü auf Löschen. Der Ereignishandler ersetzt die Daten in der Spalte und im Spaltenheader und gibt für jede Aktion eine Meldung aus.
Diese Version bezieht sich auf eine Anpassung auf Dokumentebene.
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() + ".");
}
Diese Version bezieht sich auf ein Add-In auf Anwendungsebene. Fügen Sie zur Verwendung dieses Codebeispiels die using System.Data;-Direktive hinzu, wenn Sie C# verwenden, bzw. die Imports System.Data-Anweisung, wenn Sie Visual Basic verwenden.
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 NativeWorksheet As Microsoft.Office.Interop.Excel.Worksheet =
Me.Application.Worksheets(1)
Dim vstoWorksheet As Microsoft.Office.Tools.Excel.Worksheet =
Globals.Factory.GetVstoObject(NativeWorksheet)
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 =
Globals.Factory.GetVstoObject(this.Application.ActiveWorkbook.Worksheets[1]);
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() + ".");
}
.NET Framework-Sicherheit
- Volle Vertrauenswürdigkeit für den unmittelbaren Aufrufer. Dieser Member kann von nur teilweise vertrauenswürdigem Code nicht verwendet werden. Weitere Informationen finden Sie unter Verwenden von Bibliotheken aus teilweise vertrauenswürdigem Code.