无法在Win Form DatagridView中显示结果集

时间:2011-06-20 21:31:07

标签: datagridview webforms

我无法在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();
}

1 个答案:

答案 0 :(得分:1)

您没有将以编程方式创建的DataGridView添加到任何表单,因此它不会显示在您的表单上。将BindingSource绑定到DataGridView后添加此代码:

Controls.Add(dgView);

请注意,以这种方式添加到表单的DataGridView将使用您可能不需要的默认值进行定位和调整大小。

您可以在表单设计器中创建DataGridView,也可以以编程方式设置这些值:(示例:dgView.Location = new System.Drawing.Point(100,100);)