セルに入力された値によって、任意のセルの有効・無効を切り替えるには?

文書番号 : 40663     文書種別 : 使用方法     登録日 : 2017/07/26     最終更新日 : 2017/07/26
文書を印刷する
対象製品
MultiRow for Windows Forms 10.0J
詳細
CellValidatingイベントを使用することで、セルの値を検証することができます。また、CellValidatingイベント内で任意のセルのReadOnlyプロパティを設定することでセルの有効・無効を切り替えることができます。

[Visual Basic]
Imports GrapeCity.Win.MultiRow

Private Sub GcMultiRow1_CellValidating(ByVal sender As Object, ByVal e As GrapeCity.Win.MultiRow.CellValidatingEventArgs) Handles GcMultiRow1.CellValidating
    ' 第1セルの場合
    If e.CellIndex = 0 Then
        ' 第1セルの値の取得
        Dim grid As GcMultiRow = sender
        Dim value As String = grid.GetEditedFormattedValue(e.RowIndex, e.CellIndex)
        ' 第1セルの値に応じた第2セルのReadOnlyの切り替え
        If value = "1" Then
            grid(e.RowIndex, 1).ReadOnly = True
        Else
            grid(e.RowIndex, 1).ReadOnly = False
        End If
    End If
End Sub

[C#]
using GrapeCity.Win.MultiRow;

private void gcMultiRow1_CellValidating(object sender, CellValidatingEventArgs e)
{
    // 第1セルの場合
    if (e.CellIndex == 0)
    {
        // 第1セルの値の取得
        GcMultiRow grid = sender as GcMultiRow;
        string value = string.Concat(grid.GetEditedFormattedValue(e.RowIndex, e.CellIndex));
        // 第1セルの値に応じた第2セルのReadOnlyの切り替え
        if (value == "1")
        {
            grid[e.RowIndex, 1].ReadOnly = true;
        }
        else
        {
            grid[e.RowIndex, 1].ReadOnly = false;
        }
    }
}