//Bạn cần thiết lập query như thế này
string strSql = "SELECT MaKH, TenKH, Loai, STT FROM DanhSach";
//Thiết lập kết nối
OleDbConnection con = new OleDbConnection(strProvider);
OleDbCommand cmd = new OleDbCommand(strSql, con);
con.Open();
cmd.CommandType = CommandType.Text;
OleDbDataReader dr = cmd.ExecuteReader();
//Thực ra không nên dùng OleDbDataReader - nhưng bạn đã dùng thì tôi giới thiệu
//cách này vậy
//Đếm số cột dữ liệu để thêm số cột vào cho hợp lý theo đúng thứ tự xuất hiện trong querry
int columnCount = dr.FieldCount;
for (int i = 0; i < columnCount; i++)
{
DataGridView1.Columns.Add(dr.GetName(i).ToString(), dr.GetName(i).ToString());
}
//Thêm từng dòng dữ liệu đây
string[] rowData = new string[columnCount];
while (dr.Read())
{
for (int k = 0; k < columnCount; k++)
{
if (dr.GetFieldType(k).ToString() =="System.Int32") rowData[k] = dr.GetInt32(k).ToString();
if (dr.GetFieldType(k).ToString() == "System.String") rowData[k] = dr.GetString(k);
}
DataGridView1.Rows.Add(rowData);
}