入力型セルで選択を許可して編集を禁止するには?

文書番号 : 40639     文書種別 : 使用方法     登録日 : 2017/07/26     最終更新日 : 2017/07/26
文書を印刷する
対象製品
MultiRow for Windows Forms 10.0J
詳細
通常、セルのReadOnlyプロパティをTrueに設定すると、実行時にそのセルを選択することもできなくなります。
セルの選択を許可し内容の変更だけ禁止するには、セルの編集コントロールのReadOnlyプロパティをTrueに指定することで実現できます。

下記のサンプルコードでは、TextBoxCellを例にしています。


[Visual Basic]
Imports GrapeCity.Win.MultiRow

Public Class Form1

    Private Sub GcMultiRow1_EditingControlShowing(sender As System.Object, e As GrapeCity.Win.MultiRow.EditingControlShowingEventArgs) Handles GcMultiRow1.EditingControlShowing
        If TypeOf e.Control Is TextBoxEditingControl Then
            ' 編集用コントロールの取得
            Dim editor As TextBoxEditingControl = e.Control

            ' 編集用コントロールのReadOnlyプロパティを設定
            editor.ReadOnly = True
        End If
    End Sub
End Class


[C#]
using GrapeCity.Win.MultiRow;

namespace WindowsFormsApplication1
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void gcMultiRow1_EditingControlShowing(object sender, GrapeCity.Win.MultiRow.EditingControlShowingEventArgs e)
        {
            if (e.Control is TextBoxEditingControl)
            {
                // 編集用コントロールの取得
                TextBoxEditingControl editor = (TextBoxEditingControl)e.Control;

                // 編集用コントロールのReadOnlyプロパティを設定
                editor.ReadOnly = true;
            }
        }
    }
}