次の方法で共有


ChangeType 列挙体

ユーザーが変更したデータを ListObject コントロールが復元した方法についての情報を提供します。

名前空間:  Microsoft.Office.Tools.Excel
アセンブリ:  Microsoft.Office.Tools.Excel (Microsoft.Office.Tools.Excel.dll 内)

構文

'宣言
Public Enumeration ChangeType
public enum ChangeType

メンバー

メンバー名 説明
ColumnAdded 列は、ListObject コントロールに追加されます。
ColumnHeaderRestored 列のヘッダーのテキストは元の値に復元されます。
ColumnRemoved 列は、ListObject コントロールから削除されます。
RangeValueRestored 範囲内の値は、データ ソース内の値に復元されます。
RowAdded 行は、ListObject コントロールに追加されます。
RowRemoved 行は、ListObject コントロールから削除されます。

解説

ListObject コントロールがデータにバインドされていて、ユーザーが許可されていない操作を実行した場合、ListObject は以前の状態に復元され、OriginalDataRestored イベントが発生します。行われた復元の種類は、ChangeType 列挙体で確認できます。

次のコード例は、DataTableListObject を作成し、ListObjectDataTable にバインドします。次に、OriginalDataRestored イベント ハンドラーを作成します。イベントをテストするには、Sheet 1 のListObject の上にある列の文字を右クリックし、ショートカット メニューの [削除] をクリックします。イベント ハンドラーは列と列ヘッダーのデータを置き換え、復元されたデータの情報と、元のデータが復元された理由を示すメッセージを表示します。

この例は、ドキュメント レベルのカスタマイズ用に作成されています。

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

参照

関連項目

Microsoft.Office.Tools.Excel 名前空間