我无法在datagridview中显示查询中的结果集。当我单步执行代码时,我可以看到数据适配器表和绑定源中的数据,但它不会显示在网格中?谁能告诉我我错过了什么?
{
SqlConnection conn = new SqlConnection ("my conn string");
//open
conn.Open();
////pass the conn to command object
string query = "select * from main (nolock) where platter = 'first' and uk_5 in (" + List + ")";
//create adapter to get data
SqlDataAdapter dAdapter = new SqlDataAdapter(query, conn);
// Get data set instance
DataSet dTable = new DataSet();
// Fill data set
dAdapter.Fill(dTable);
//binding source to the data set
BindingSource bSource = new BindingSource();
bSource.DataSource = dTable;
//displaying in datagridview
DataGridView dgView = new DataGridView();
dgView.AutoGenerateColumns = true;
dgView.DataSource = bSource;
//close
conn.Close();
}
答案 0 :(得分:1)
您没有将以编程方式创建的DataGridView添加到任何表单,因此它不会显示在您的表单上。将BindingSource绑定到DataGridView后添加此代码:
Controls.Add(dgView);
请注意,以这种方式添加到表单的DataGridView将使用您可能不需要的默认值进行定位和调整大小。
您可以在表单设计器中创建DataGridView,也可以以编程方式设置这些值:(示例:dgView.Location = new System.Drawing.Point(100,100);)