2011-06-20 24 views
0

我無法在datagridview中顯示來自我的查詢的結果集。當我遍歷代碼時,我可以看到數據適配器表和綁定源中的數據,但它不會顯示在網格中?任何人都可以告訴我我錯過了什麼嗎?無法在Win Form中顯示結果集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

您不添加您以編程方式創建到任何窗體的DataGridView,因此它不會顯示在窗體上。添加您的BindingSource的綁定到你的DataGridView此代碼後:

Controls.Add(dgView); 

注意,一個DataGridView添加到形式,這種方式將被定位並使用您可能不希望默認大小。

您可以創建在表單設計在DataGridView或設置這些值編程:(例如:dgView.Location =新System.Drawing.Point(100,100);)

+0

我試圖在設計做everyting ,但我的字符串只能處理一個'數字'。在查詢構建器/查詢設計器/查詢參數列表/ @ mystring(nvarchar(50))中的屬性中。我無法改變類型。我試圖將其轉換並轉換,但它在設計器中不起作用。我的字符串例如將是1,2,3。查詢將只處理一個值,它不會看到1,2,3作爲一個字符串(錯誤可能是vs2010)。所以我試圖通過編碼來做到這一點。我的sql在聲明中工作正常,但即使添加你的行(謝謝!)它仍然沒有工作。 –