2017-07-19 34 views
0

私はDataGridViewにいくつかの細胞を持っています。すべてのセルを検証し、無効化されたセルを強調表示する方法DataGridViewでセルを検証する方法は?

細胞を満たした後に検証が必要です。

私はこの方法を使用してみました:

void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
{ 
} 

をしかし、私は、各フィールド(列)のためのいくつかの検証ルールを設定する必要があります。たとえば、番号または文字列をチェックします。

答えて

4

このコードを試すことができます。 セル( 'EmployeeName')を編集するときは、整数値を避けるようにします。 選択したセルでフォーカスが失われたときエラーメッセージを表示します。

これは、これは私のコード

namespace WindowsFormsApplication1 
    { 
     public partial class Form1 : Form 
     { 
      List<Employee> EmployeeList = new List<Employee>(); 
      public Form1() 
      { 
       InitializeComponent(); 
      } 

      private void Form1_Load(object sender, EventArgs e) 
      { 


       Employee emp = new Employee(); 

       emp.EmployeeAddress = "polonnaruwa"; 

       emp.EmployeeId = 1; 
       emp.EmployeeName = "Kasun"; 

       EmployeeList.Add(emp); 
       Employee emp1 = new Employee(); 
       emp1.EmployeeAddress = "Kandy"; 

       emp1.EmployeeId = 2; 
       emp1.EmployeeName = "Bimal"; 

       EmployeeList.Add(emp1); 

       Employee emp2 = new Employee(); 
       emp2.EmployeeAddress = "New Town"; 

       emp2.EmployeeId = 3; 
       emp2.EmployeeName = "ASheain"; 

       EmployeeList.Add(emp2); 

       dataGridView1.DataSource = EmployeeList; 

      } 

      private void dataGridView1_CellFormatting(object sender, DataGridViewCellFormattingEventArgs e) 
      { 
       if (this.dataGridView1.Columns[e.ColumnIndex].Name == "EmployeeName") 
       { 
        int RowIndex = e.RowIndex; 
        int columnIndex = e.ColumnIndex; 
        if (e.Value != null) 
        { 

         string stringValue = (string)e.Value; 
         int val; 
         if (int.TryParse(stringValue, out val)) 
         { 

          label1.Text = "it is integer"; 
          dataGridView1.Rows[RowIndex].Cells[columnIndex].Value = "Please Enter String Value"; 

         } 
         else 
         { 
          label1.Text = "it is not integer"; 

         } 

        } 
       } 

      } 

      private void dataGridView1_CellValidating(object sender, DataGridViewCellValidatingEventArgs e) 
      { 

      } 
     } 
    } 
である私のモデル

namespace WindowsFormsApplication1 
{ 
    public class Employee 
    { 
     public int EmployeeId { get; set; } 
     public string EmployeeName { get; set; } 
     public string EmployeeAddress { get; set; } 
    } 
} 

ある

関連する問題