2017-04-07 4 views
2

DataGridviewの行が入力された新しい値と一致する場合、エラーメッセージを表示しようとしています。DataGridView行がテキストボックスと一致するとエラーメッセージが表示される

  Product c = new Product(); 
      tableProducts.Products.Add(c); 
      productBindingSource.Add(c); 
      productBindingSource.MoveLast(); 

新しい行が作成され、私はそれを保存したいとき、それはテキストボックスのことで、この行のコードを比較し、エラーメッセージがされます:問題は、私は新しいDataGridViewのを追加した後ということです表示されます。 しかし、それだけで、すでにテーブルに格納されたものではなく、私は新しいとして追加1と比較する必要があります。ここでは

はコードです:

ます。private void btnSave_Click(オブジェクト送信者、EventArgsの電子)

{ 
     if (dataGridView.CurrentRow.Cells[0].Value.ToString() == txtCode.Text && txtCode.Enabled == true) 
     { 
      MessageBox.Show("Code already exist! Try another one!", "Message", MessageBoxButtons.OK, MessageBoxIcon.Error); 
      panel.Enabled = false; 
      defaultViewButtons(); 
     } 
     else 
     { 
       productoBindingSource.EndEdit(); 
       tablaProductos.SaveChangesAsync(); 
       panel.Enabled = false; 
       defaultViewButtons(); 
     } 
    } 
+1

あなたは(今追加された)最後の1以外のGridViewのすべての行を通してループする必要があるとCelの 'の値を比較します各行のl [0] 'を' textCode.Text'に置き換え、ループから抜け出してメッセージを表示する場所に一致するものがあれば、それを返します。ループが途切れることなく終了する場合は、保存を続行します。 –

+0

私はそれを解決するのに近いと思う。 ありがとうございます。 {MessageBox.Show(dataGridView.Rows [i]が.Cellsを プライベートボイドbtnSave_Click(オブジェクト送信者、のEventArgs電子) {ため (iは++; iはdataGridView.Rows.Count -1

+0

コメントで共有したコードは機能しましたか?あなたは他の問題に直面していますか? –

答えて

-1

現在のセルの値を更新するには、以下の利用、

dataGridView.RefreshEdit(); 
dataGridView.Refresh(); 
+0

あなたの答えをありがとう!しかし...それは動作しません... –

関連する問題