2012-10-15 2 views
0

내 응용 프로그램에는 mysql 커넥터를 통해 데이터를 표시하는 DataGridview가 있습니다. 데이터 그레이드를 지우거나 새로 고치고 싶지만 방법을 파악할 수 없습니다. 데이터 소스로 datagridview 지우기

나는
dataGridView2.DataSource = null; 

를 시도했지만 데이터 소스를 삭제하지 않습니다.

그것은 여전히 ​​데이터 소스를 유지할 내 코드

using MySql.Data.MySqlClient; 

Boolean DataLoaded = false; 
    string SQL = null; 

    MySqlConnection MysqlConn; 
    MySqlCommand WerkDataCommand = new MySqlCommand(); 
    MySqlDataAdapter WerkDataAdapter = new MySqlDataAdapter(); 
    DataTable WerkData = new DataTable(); 

private void gegevensOphalenBTN_Click(object sender, EventArgs e) 
    { 
     MysqlConn = new MySqlConnection(); 

     MysqlConn.ConnectionString = "server=myserver;" + "user id=user;" + "password=***;" + "database=database"; 

     SQL = "SELECT * FROM werkverslagen"; 


     try 
     { 
      dataGridView2.DataSource = null; 
      MysqlConn.Open(); 

      WerkDataCommand.Connection = MysqlConn; 
      WerkDataCommand.CommandText = SQL; 

      WerkDataAdapter.SelectCommand = WerkDataCommand; 
      WerkDataAdapter.Fill(WerkData); 

      dataGridView2.DataSource = WerkData; 
     } 
     catch (MySqlException myerror) 
     { 
      MessageBox.Show("Database gives the following error: " + myerror.Message); 
     } 
     finally 
     { 
      MysqlConn.Close(); 
      MysqlConn.Dispose(); 
      button4.Enabled = true; 
     } 
    } 

하고 그리드에 같은 행을 추가합니다.

+0

어디 당신이 "WerkData"정의 했는가? 어떤 데이터 유형입니까? – NDraskovic

+0

WerkData 정의를 추가했습니다. – PandaNL

+0

조금 속일 수 있습니다. dataGridView를 지우려면,'WerkData.Clear()'메소드를 사용하고, 'dataGridView2.DataSource = WerkData'를 사용하면된다. 그런 식으로 dataGridView는 모든 데이터를 지우지 만 헤더는 남아있게된다. 그런 다음 'dataGridView.DataSource = null'을 사용하여 표시된 헤더를 지울 수 있습니다. – NDraskovic

답변

0

당신은 단순히 수행해야합니다

dataGridView2.Rows.Clear(); 
dataGridView2.Refresh(); 
+0

같은 오류, 대포 dataGridView2.Rows.Clear();에서이 목록을 지우십시오. . 정보를 다시 얻은 후에 명확하게하기 위해 어댑터는 열을 가져 와서 DataGridview에 저장하며 컬렉션에 만들어지지 않습니다. 그래서 datagridview2.rows.clear는 아무 것도하지 않을 것입니다. – PandaNL

관련 문제