IDataGridViewEditingControlとは? わかりやすく解説

IDataGridViewEditingControl インターフェイス

メモ : このインターフェイスは、.NET Framework version 2.0新しく追加されたものです。

DataGridView のセル内にホストされるコントロール共通する機能定義します

名前空間: System.Windows.Forms
アセンブリ: System.Windows.Forms (system.windows.forms.dll 内)
構文構文

Public Interface IDataGridViewEditingControl
Dim instance As IDataGridViewEditingControl
public interface IDataGridViewEditingControl
public interface class IDataGridViewEditingControl
public interface IDataGridViewEditingControl
public interface IDataGridViewEditingControl
解説解説

このインターフェイスは、DataGridViewComboBoxCell や DataGridViewTextBoxCell などの DataGridViewセル編集モードのときにホストする、DataGridViewComboBoxEditingControl や DataGridViewTextBoxEditingControl などの対応するコントロール実装ます。編集コントロールホストできるセル型では、EditType プロパティが、編集コントロールの型を表す Type設定されます。IDataGridViewEditingControl実装方法詳細については、「方法 : Windows フォーム DataGridView Cellsコントロールホストする」を参照してください

編集コントロールホストせずに値を指定するためのユーザー インターフェイス (UI) を提供する DataGridViewCheckBoxCell などのセル型は、IDataGridViewEditingCell インターフェイス実装ます。この場合セル編集モードであるかどうかかかわらずUI表示されます。

DataGridViewButtonCell など、その他のセルでは、UI表示されますが、ユーザー指定した値は格納されません。この場合セル型は、IDataGridViewEditingCell実装することも、編集コントロールホストすることもありません。

使用例使用例

DateTimePicker を継承するこのインターフェイス実装次のコード例示します次の例は「方法 : Windows フォーム DataGridView Cellsコントロールホストする」で取り上げている例の一部です。

Class CalendarEditingControl
    Inherits DateTimePicker
    Implements IDataGridViewEditingControl

    Private dataGridViewControl As DataGridView
    Private valueIsChanged As Boolean
 = False
    Private rowIndexNum As Integer

    Public Sub New()
        Me.Format = DateTimePickerFormat.Short
    End Sub

    Public Property EditingControlFormattedValue()
 As Object _
        Implements IDataGridViewEditingControl.EditingControlFormattedValue

        Get
            Return Me.Value.ToShortDateString()
        End Get

        Set(ByVal value As
 Object)
            If TypeOf value Is
 [String] Then
                Me.Value = DateTime.Parse(CStr(value))
            End If
        End Set

    End Property

    Public Function GetEditingControlFormattedValue(ByVal
 context _
        As DataGridViewDataErrorContexts) As
 Object _
        Implements IDataGridViewEditingControl.GetEditingControlFormattedValue

        Return Me.Value.ToShortDateString()

    End Function

    Public Sub ApplyCellStyleToEditingControl(ByVal
 dataGridViewCellStyle As _
        DataGridViewCellStyle) _
        Implements IDataGridViewEditingControl.ApplyCellStyleToEditingControl

        Me.Font = dataGridViewCellStyle.Font
        Me.CalendarForeColor = dataGridViewCellStyle.ForeColor
        Me.CalendarMonthBackground = dataGridViewCellStyle.BackColor

    End Sub

    Public Property EditingControlRowIndex()
 As Integer _
        Implements IDataGridViewEditingControl.EditingControlRowIndex

        Get
            Return rowIndexNum
        End Get
        Set(ByVal value As
 Integer)
            rowIndexNum = value
        End Set

    End Property

    Public Function EditingControlWantsInputKey(ByVal
 key As Keys, _
        ByVal dataGridViewWantsInputKey As
 Boolean) As Boolean _
        Implements IDataGridViewEditingControl.EditingControlWantsInputKey

        ' Let the DateTimePicker handle the keys listed.
        Select Case key And
 Keys.KeyCode
            Case Keys.Left, Keys.Up, Keys.Down, Keys.Right, _
                Keys.Home, Keys.End, Keys.PageDown, Keys.PageUp

                Return True

            Case Else
                Return False
        End Select

    End Function

    Public Sub PrepareEditingControlForEdit(ByVal
 selectAll As Boolean) _
        Implements IDataGridViewEditingControl.PrepareEditingControlForEdit

        ' No preparation needs to be done.

    End Sub

    Public ReadOnly Property
 RepositionEditingControlOnValueChange() _
        As Boolean Implements
 _
        IDataGridViewEditingControl.RepositionEditingControlOnValueChange

        Get
            Return False
        End Get

    End Property

    Public Property EditingControlDataGridView()
 As DataGridView _
        Implements IDataGridViewEditingControl.EditingControlDataGridView

        Get
            Return dataGridViewControl
        End Get
        Set(ByVal value As
 DataGridView)
            dataGridViewControl = value
        End Set

    End Property

    Public Property EditingControlValueChanged()
 As Boolean _
        Implements IDataGridViewEditingControl.EditingControlValueChanged

        Get
            Return valueIsChanged
        End Get
        Set(ByVal value As
 Boolean)
            valueIsChanged = value
        End Set

    End Property

    Public ReadOnly Property
 EditingControlCursor() As Cursor _
        Implements IDataGridViewEditingControl.EditingPanelCursor

        Get
            Return MyBase.Cursor
        End Get

    End Property

    Protected Overrides Sub
 OnValueChanged(ByVal eventargs As EventArgs)

        ' Notify the DataGridView that the contents of the cell have
 changed.
        valueIsChanged = True
        Me.EditingControlDataGridView.NotifyCurrentCellDirty(True)
        MyBase.OnValueChanged(eventargs)

    End Sub

End Class
class CalendarEditingControl : DateTimePicker, IDataGridViewEditingControl
{
    DataGridView dataGridView;
    private bool valueChanged = false;
    int rowIndex;

    public CalendarEditingControl()
    {
        this.Format = DateTimePickerFormat.Short;
    }

    // Implements the IDataGridViewEditingControl.EditingControlFormattedValue
 
    // property.
    public object EditingControlFormattedValue
    {
        get
        {
            return this.Value.ToShortDateString();
        }
        set
        {
            String newValue = value as String;
            if (newValue != null)
            {
                this.Value = DateTime.Parse(newValue);
            }
        }
    }

    // Implements the 
    // IDataGridViewEditingControl.GetEditingControlFormattedValue method.
    public object GetEditingControlFormattedValue(
        DataGridViewDataErrorContexts context)
    {
        return EditingControlFormattedValue;
    }

    // Implements the 
    // IDataGridViewEditingControl.ApplyCellStyleToEditingControl method.
    public void ApplyCellStyleToEditingControl(
        DataGridViewCellStyle dataGridViewCellStyle)
    {
        this.Font = dataGridViewCellStyle.Font;
        this.CalendarForeColor = dataGridViewCellStyle.ForeColor;
        this.CalendarMonthBackground = dataGridViewCellStyle.BackColor;
    }

    // Implements the IDataGridViewEditingControl.EditingControlRowIndex
 
    // property.
    public int EditingControlRowIndex
    {
        get
        {
            return rowIndex;
        }
        set
        {
            rowIndex = value;
        }
    }

    // Implements the IDataGridViewEditingControl.EditingControlWantsInputKey
 
    // method.
    public bool EditingControlWantsInputKey(
        Keys key, bool dataGridViewWantsInputKey)
    {
        // Let the DateTimePicker handle the keys listed.
        switch (key & Keys.KeyCode)
        {
            case Keys.Left:
            case Keys.Up:
            case Keys.Down:
            case Keys.Right:
            case Keys.Home:
            case Keys.End:
            case Keys.PageDown:
            case Keys.PageUp:
                return true;
            default:
                return false;
        }
    }

    // Implements the IDataGridViewEditingControl.PrepareEditingControlForEdit
 
    // method.
    public void PrepareEditingControlForEdit(bool
 selectAll)
    {
        // No preparation needs to be done.
    }

    // Implements the IDataGridViewEditingControl
    // .RepositionEditingControlOnValueChange property.
    public bool RepositionEditingControlOnValueChange
    {
        get
        {
            return false;
        }
    }

    // Implements the IDataGridViewEditingControl
    // .EditingControlDataGridView property.
    public DataGridView EditingControlDataGridView
    {
        get
        {
            return dataGridView;
        }
        set
        {
            dataGridView = value;
        }
    }

    // Implements the IDataGridViewEditingControl
    // .EditingControlValueChanged property.
    public bool EditingControlValueChanged
    {
        get
        {
            return valueChanged;
        }
        set
        {
            valueChanged = value;
        }
    }

    // Implements the IDataGridViewEditingControl
    // .EditingPanelCursor property.
    public Cursor EditingPanelCursor
    {
        get
        {
            return base.Cursor;
        }
    }

    protected override void OnValueChanged(EventArgs
 eventargs)
    {
        // Notify the DataGridView that the contents of the cell
        // have changed.
        valueChanged = true;
        this.EditingControlDataGridView.NotifyCurrentCellDirty(true);
        base.OnValueChanged(eventargs);
    }
}
プラットフォームプラットフォーム
バージョン情報バージョン情報
参照参照
関連項目
IDataGridViewEditingControl メンバ
System.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス
その他の技術情報
方法 : Windows フォーム DataGridView Cellsコントロールホストする

IDataGridViewEditingControl プロパティ


パブリック プロパティパブリック プロパティ

  名前 説明
パブリック プロパティ EditingControlDataGridView セル格納する DataGridView を取得または設定します
パブリック プロパティ EditingControlFormattedValue エディタによって変更されるセル書式設定された値を取得または設定します
パブリック プロパティ EditingControlRowIndex ホストしているセルの親行のインデックス取得または設定します
パブリック プロパティ EditingControlValueChanged 編集コントロールの値と、そのコントロールホストしているセルの値とが異なかどうかを示す値を取得または設定します
パブリック プロパティ EditingPanelCursor マウス ポインタ編集コントロールの上ではなく、DataGridView.EditingPanel の上にあるときに使用されるカーソル取得します
パブリック プロパティ RepositionEditingControlOnValueChange 値が変更されるたびに、セル内容位置変更する必要があるかどうかを示す値を取得または設定します
参照参照

関連項目

IDataGridViewEditingControl インターフェイス
System.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス

その他の技術情報

方法 : Windows フォーム DataGridView Cellsコントロールホストする

IDataGridViewEditingControl メソッド


パブリック メソッドパブリック メソッド

  名前 説明
パブリック メソッド ApplyCellStyleToEditingControl 指定されセル スタイル矛盾しないように、コントロールユーザー インターフェイス (UI) を変更します
パブリック メソッド EditingControlWantsInputKey 指定されキーが、編集コントロールによって処理される通常の入力キーか、DataGridView によって処理される特殊なキーであるかを確認します
パブリック メソッド GetEditingControlFormattedValue セル書式設定された値を取得します
パブリック メソッド PrepareEditingControlForEdit 現在選択されているセル編集準備します
参照参照

関連項目

IDataGridViewEditingControl インターフェイス
System.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス

その他の技術情報

方法 : Windows フォーム DataGridView Cellsコントロールホストする

IDataGridViewEditingControl メンバ

DataGridView のセル内にホストされるコントロール共通する機能定義します

IDataGridViewEditingControl データ型公開されるメンバを以下の表に示します


パブリック プロパティパブリック プロパティ
  名前 説明
パブリック プロパティ EditingControlDataGridView セル格納する DataGridView取得または設定します
パブリック プロパティ EditingControlFormattedValue エディタによって変更されるセル書式設定された値を取得または設定します
パブリック プロパティ EditingControlRowIndex ホストしているセルの親行のインデックス取得または設定します
パブリック プロパティ EditingControlValueChanged 編集コントロールの値と、そのコントロールホストしているセルの値とが異なかどうかを示す値を取得または設定します
パブリック プロパティ EditingPanelCursor マウス ポインタ編集コントロールの上ではなく、DataGridView.EditingPanel の上にあるときに使用されるカーソル取得します
パブリック プロパティ RepositionEditingControlOnValueChange 値が変更されるたびに、セル内容位置変更する必要があるかどうかを示す値を取得または設定します
パブリック メソッドパブリック メソッド
  名前 説明
パブリック メソッド ApplyCellStyleToEditingControl 指定されセル スタイル矛盾しないように、コントロールユーザー インターフェイス (UI) を変更します
パブリック メソッド EditingControlWantsInputKey 指定されキーが、編集コントロールによって処理される通常の入力キーか、DataGridView によって処理される特殊なキーであるかを確認します
パブリック メソッド GetEditingControlFormattedValue セル書式設定された値を取得します
パブリック メソッド PrepareEditingControlForEdit 現在選択されているセル編集準備します
参照参照

関連項目

IDataGridViewEditingControl インターフェイス
System.Windows.Forms 名前空間
DataGridView クラス
DataGridViewCell クラス
IDataGridViewEditingCell インターフェイス
DataGridViewComboBoxCell クラス
DataGridViewComboBoxEditingControl クラス
DataGridViewTextBoxCell クラス
DataGridViewCell.EditType プロパティ
DataGridViewTextBoxEditingControl クラス

その他の技術情報

方法 : Windows フォーム DataGridView Cellsコントロールホストする



英和和英テキスト翻訳>> Weblio翻訳
英語⇒日本語日本語⇒英語
  

辞書ショートカット

すべての辞書の索引

「IDataGridViewEditingControl」の関連用語

IDataGridViewEditingControlのお隣キーワード
検索ランキング

   

英語⇒日本語
日本語⇒英語
   



IDataGridViewEditingControlのページの著作権
Weblio 辞書 情報提供元は 参加元一覧 にて確認できます。

   
日本マイクロソフト株式会社日本マイクロソフト株式会社
© 2024 Microsoft.All rights reserved.

©2024 GRAS Group, Inc.RSS