2016-09-09 3 views
1

datagridviewでデータを更新しようとすると問題が発生します。使用中のデータベースはMySQLです。 Reloadボタンをクリックするたびに私の古いデータがグリッドに複製されます。私もdatagridview.DataSource = nullを設定しようとすると、Refreshデータグリッドを試して、Resertバインド元にもしようとしていますが、何も起こっていません。 enter image description hereRefreshボタンは、データグリッドビューのデータを複製します。

public MainForm() 
    { 
     InitializeComponent(); 
     this.connStr = Properties.Settings.Default.connStr; 
    } 

    // Load 
    private void Form1_Load(object sender, EventArgs e) 
    { 
     SelectData(); 
    } 

    // Seslect Data 
    public void SelectData() 
    {     
     bs.DataSource = GetData("SELECT * FROM porudzbine"); 
     dataGridView1.DataSource = bs; 
    } 

    // Get Data 
    private DataTable GetData(string query) 
    { 
     try 
     { 
      conn = new MySqlConnection(connStr); 
      conn.Open(); 
      adapter = new MySqlDataAdapter(query, conn); 
      adapter.Fill(dt);           
     } 
     catch(MySqlException ex) 
     { 
      MessageBox.Show(ex.Message.ToString()); 
     } 

     return dt; 
    } 

    // Reload 
    private void osveziListuPorudzbinaButton_Click(object sender, EventArgs e) 
    { 
     dataGridView1.DataSource = null; 
     dataGridView1.Refresh(); 
     bs.ResetBindings(false); 
     bs.DataSource = GetData("SELECT * FROM porudzbine"); 
     dataGridView1.DataSource = bs; 
    } 

答えて

2

は、あなたがどこかにあなたが故に、レコードを追加する(補充されます(ポストには示されていない)フォームでdtと呼ばフィールドを持っています。この

チェック以前にロードされたレコードに)各GetDataコールで。

は、フィールドを削除し、このようなものを使用:あなたは右

// Get Data 
private DataTable GetData(string query) 
{ 
    var dt = new DataTable(); 
    // ... 
    return dt; 
} 
+0

を。今すぐ完璧に動作します。ありがとう。 – Ivan

+1

あなたは歓迎です、druje :) –

関連する問題