Cross-thread operation not valid: Control 'gridControl' accessed from a thread other than the thread it was created on.
string sPath = "";
private void cmdImportExcel1_Click(object sender, EventArgs e)
{
OpenFileDialog dlg = new OpenFileDialog();
dlg.Filter = "Excel Files (.xls; .xlsx;)|*.xls; *.xlsx";
dlg.InitialDirectory = Environment.CurrentDirectory;
dlg.Title = "B?n ch?n file excel h?p d?ng...";
DialogResult dlgresult = dlg.ShowDialog();
if (dlgresult == DialogResult.OK)
{
if (!string.IsNullOrEmpty(dlg.FileName))
{
sPath = dlg.FileName;
Thread myThr = new Thread(ImportExcel1);
myThr.Start();//gridView1
}
}
}
private void ImportExcel1()
{
// Xóa các m?u tin trong table access
tmpSQL = "DELETE * FROM HDCNH;";
if (!clsConnecACS.ThucThiSQL(tmpSQL))
{
DevExpress.XtraEditors.XtraMessageBox.Show("L?i xóa table HDCNH không thành công !", "Thông báo !", MessageBoxButtons.OK, MessageBoxIcon.Information);
return;
}
// Luu các m?u tin t? Excel vào Access
ExcelSaveTableAccess(1, sPath);
// Nhóm các m?u tin t? Table Access và luu vào gridView1
tmpSQL = "SELECT CHINHANH, HD, LOAIHANG, TIEUCHUAN, KHACHHANG, Sum(SOLUONG) AS SLUONG, DONGIA, (SLUONG*DONGIA) AS DOANHTHU,NGAYKY, LOAIHD, NGAYGIAO ";
tmpSQL += "FROM HDCNH ";
tmpSQL += "GROUP BY CHINHANH, HD, LOAIHANG, TIEUCHUAN, KHACHHANG, DONGIA, NGAYKY, LOAIHD, NGAYGIAO ";
tmpSQL += "ORDER BY HD;";
Debug.Print(tmpSQL);
//Cross-thread operation not valid: Control 'gridControl' accessed from a thread other than the thread it was created on.
gridControl1.DataSource = clsConnecACS.FillDatatable(tmpSQL);//Error here
Format_Gridview(gridView1);
}
How to fix this error ?