IDataGridViewEditingControl インターフェイスとは? わかりやすく解説

Weblio 辞書 > コンピュータ > .NET Framework クラス ライブラリ リファレンス > 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コントロールホストする



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

辞書ショートカット

すべての辞書の索引

「IDataGridViewEditingControl インターフェイス」の関連用語

IDataGridViewEditingControl インターフェイスのお隣キーワード
検索ランキング

   

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



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

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

©2025 GRAS Group, Inc.RSS