作成日: 2021/04/20 最終更新日: 2021/04/20
文書種別
使用方法
詳細
特定の行、列、またはセルの選択を禁止するには、BeforeRowColChangeまたはBeforeSelChangeイベントで、条件に応じてe.Cancel = Trueを設定し、新しい選択範囲をキャンセルします。
なお、選択を禁止すると、カレントセルも移動しません。
※メモ
・BeforeRowColChangeでe.Cancel を設定した場合は、BeforeSelChangeイベントは発生しません。また、マウスドラッグによるセル範囲の選択は可能です。
・一方、BeforeSelChangeでe.Cancelを設定した場合は、BeforeRowColChangeイベントがその前に発生します。また、クリックしたセルを開始地点としたマウスドラッグによるセル範囲の選択は不可になります。
◎サンプルコード(VB)
なお、選択を禁止すると、カレントセルも移動しません。
※メモ
・BeforeRowColChangeでe.Cancel を設定した場合は、BeforeSelChangeイベントは発生しません。また、マウスドラッグによるセル範囲の選択は可能です。
・一方、BeforeSelChangeでe.Cancelを設定した場合は、BeforeRowColChangeイベントがその前に発生します。また、クリックしたセルを開始地点としたマウスドラッグによるセル範囲の選択は不可になります。
◎サンプルコード(VB)
Private Sub C1FlexGrid1_BeforeRowColChange(sender As Object, e As C1.Win.C1FlexGrid.RangeEventArgs) Handles C1FlexGrid1.BeforeRowColChange
' 1行目の選択を禁止
If e.NewRange.r1 = 1 Then
e.Cancel = True
End If
' 1列目の選択を禁止
If e.NewRange.c1 = 1 Then
e.Cancel = True
End If
' 3行3列のセルの選択を禁止
If e.NewRange.r1 = 3 And e.NewRange.c1 = 3 Then
e.Cancel = True
End If
End Sub
' (または)
Private Sub C1FlexGrid1_BeforeSelChange(sender As Object, e As C1.Win.C1FlexGrid.RangeEventArgs) Handles C1FlexGrid1.BeforeSelChange
' 1行目の選択を禁止
If e.NewRange.r1 = 1 Then
e.Cancel = True
End If
' 1列目の選択を禁止
If e.NewRange.c1 = 1 Then
e.Cancel = True
End If
' 3行3列のセルの選択を禁止
If e.NewRange.r1 = 3 And e.NewRange.c1 = 3 Then
e.Cancel = True
End If
End Sub
◎サンプルコード(C#)
private void c1FlexGrid1_BeforeRowColChange(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
{
// 1行目の選択を禁止
if (e.NewRange.r1 == 1)
{
e.Cancel = true;
}
// 1列目の選択を禁止
if (e.NewRange.c1 == 1)
{
e.Cancel = true;
}
// 3行3列のセルの選択を禁止
if ((e.NewRange.r1 == 3) && (e.NewRange.c1 == 3))
{
e.Cancel = true;
}
}
// (または)
private void c1FlexGrid1_BeforeSelChange(object sender, C1.Win.C1FlexGrid.RangeEventArgs e)
{
// 1行目の選択を禁止
if (e.NewRange.r1 == 1)
{
e.Cancel = true;
}
// 1列目の選択を禁止
if (e.NewRange.c1 == 1)
{
e.Cancel = true;
}
// 3行3列のセルの選択を禁止
if ((e.NewRange.r1 == 3) && (e.NewRange.c1 == 3))
{
e.Cancel = true;
}
}