BeforeRowColChange イベントを使用すると、現在のセルが変更されたかどうかに関係なく、ユーザーが別のセルに移動できないようにできます。現在のセルが別のセルに移動しないようにするには、Cancel 引数を True に設定します。
BeforeColUpdate イベントを使用すると、現在のセルが変更された場合に、他のグリッドセルに移動する前にセルの値を検査できます。入力された値が無効である場合は、Cancel 引数を True に設定して、現在のセルが変更されないようにできます。また、警告音を鳴らしたり、エラーメッセージを表示することもできます。このように、BeforeColUpdate イベントでは、柔軟にユーザーの入力を検証したり、セル間の移動を制限することができます。
Visual Basic コードの書き方
Visual Basic |
コードのコピー
|
---|---|
Private Sub C1TrueDBGrid1_BeforeColUpdate(ByVal sender As Object, ByVal e As C1.Win.C1TrueDBGrid.BeforeColUpdateEventArgs) Handles C1TrueDBGrid1.BeforeColUpdate Dim CharCode As Integer If e.ColIndex = 1 Then ' 列 1 のデータは大文字で始まる必要があります CharCode = Asc(Me.C1TrueDBGrid1.Columns(1).Text) If CharCode > 64 And CharCode < 91 Then Exit Sub ' ユーザーに警告メッセージを表示します MessageBox.Show("Last name must start with upper case") ' データの検証に失敗したため、ユーザーに別のセルへの移動を禁止します e.Cancel = True End If End Sub |
C# コードの書き方
C# |
コードのコピー
|
---|---|
private void c1TrueDBGrid1_BeforeColUpdate(object sender, C1.Win.C1TrueDBGrid.BeforeColUpdateEventArgs e) { int CharCode; if ( e.ColIndex == 1 ) { // 列 1 のデータは大文字で始まる必要があります CharCode = this.c1TrueDBGrid1.Columns[1].Text[0]; if ( CharCode > 64 && CharCode < 91 ) return; // ユーザーに警告メッセージを表示します MessagBox.Show("Last name must start with upper case"); // データの検証に失敗したため、ユーザーに別のセルへの移動を禁止します e.Cancel = true; } } |