2013-11-28 46 views
0

我最近需要將數據加載到線程的gridview中,問題是當我嘗試將內容移動到它時,出現錯誤,說這是不可能的,正在搜索互聯網我發現一些解決方案ThreadHelperClass沒有得到更多的成功,如果可以欣賞,如果他們能幫助我,現在謝謝你。將數據加載到線程內的gridview中

下面的代碼:

trediExecucao = new Thread(new ThreadStart(delegate 
       { 
        conn.Open(); 
        SqlDataAdapter adapter = new SqlDataAdapter(); 
        adapter.SelectCommand = cmd; 

        dataSet = new DataSet(); 
        adapter.Fill(dataSet); 

        conn.Dispose(); 
        cmd.Dispose(); 
        adapter.Dispose(); 
        if (dataSet != null && dataSet.Tables != null && dataSet.Tables[0] != null) 
        { 
         dt1.DataSource = dataSet; 
         linhas = dataSet.Tables[0].Rows.Count.ToString(); 
         dt1.DataMember = dataSet.Tables[0].TableName; 

         dataSet.Dispose(); 
        } 
        btnExecutar.Image = pictureBox1.Image; 
        rodando = false; 
       })); 

       trediExecucao.Start(); 

回答

0

是否必須在一個線程?

我做如下

try 
       { 
        using (cn) 
        using (OdbcDataAdapter dadapter = new OdbcDataAdapter(globals.dgsql, cn)) 
        { 
         DataTable table = new DataTable(); 
         dadapter.Fill(table); 

         this.MY_DataGridView.DataSource = table; 
         connection.exitcon(); 
        } 
       } 

       catch (OdbcException o) 
       { 
        MessageBox.Show(o.ToString(), "Error"); 
        return; 
       } 
     } 

其中cn是我的連接類dgsql是用來將結果返回給MY_DataGridView

的sql