2012-04-21 11 views
0

私はdatagridviewを3列と19 rows.first 2列は読み取り専用です。最後の列にはすでに値が0に設定されています。ユーザーは最後の値に整数値を入力する必要があります。整数であれば、それを検証する必要があります。私はcellleaveイベントに出くわしました。私はそれがチェックを実行するために使用する正しいかもしれないと思っていましたが、私はそのイベントを自動的に呼び出す方法を知らない。Datgridviewセルのバリデーション

を要約する - すでにゼロに設定されたDataGridViewの第三列の値。

--userは3列目に値を入力します。値--if

は、整数表示メッセージではありません、私はC#での初心者ですし、その問題上の任意の助けを本当に感謝

を「整数を入力してください」。

答えて

0
private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
     { 
      DataGridViewTextBoxCell cell = dataGridView1[e.ColumnIndex, e.RowIndex] as DataGridViewTextBoxCell; 

      if (cell != null) 
      { 
       char[] chars = e.FormattedValue.ToString().ToCharArray(); 
       foreach (char c in chars) 
       { 
        if (char.IsDigit(c) == false) 
        { 
         MessageBox.Show("You have to enter digits only"); 

         e.Cancel = true; 
         break; 
        } 
       } 
      } 
     } 

http://social.msdn.microsoft.com/Forums/en/csharpgeneral/thread/6fc564f9-e154-4be1-8d2c-9988a81e2be7

+0

お返事のhusnainいただきありがとうございます:) を私はその列の正しい形式を入力するためにチェックする簡単な方法を発見しました。 プライベートボイドgridRegisters_CellValueChanged(オブジェクト送信者、DataGridViewCellEventArgs E) {試みる {int型NUM =でInt32.Parse(gridRegisters.Rowsは[e.RowIndex] .Cells [e.ColumnIndex] .Value.ToString())。 } catch(例外ex) { MessageBox.Show(ex.Message); } } –