簡體   English   中英

在Datagridview的一行中顯示多個記錄

[英]Display multiple records in one row of Datagridview

下面顯示了我用來顯示“庫存”表的代碼。

con = conn.getConnected();
datadap.SelectCommand = new SqlCommand("SELECT Inventory.inv_ID AS ID, ItemType.it_type AS Type, Inventory.inv_qty AS [Qty],Inventory.inv_part_no AS [Part No], CONVERT(DECIMAL(10,2),Inventory.inv_whole_price) AS [Discount Price], CONVERT(DECIMAL(10,2),Inventory.inv_retail_price) AS [Selling Price], Inventory.inv_profit_percent AS [Percent] FROM Inventory INNER JOIN Country ON Inventory.count_ID = Country.count_ID INNER JOIN Class ON Inventory.class_ID = Class.class_ID INNER JOIN Dealer ON Inventory.deal_ID = Dealer.deal_ID INNER JOIN ItemType ON Inventory.it_ID = ItemType.it_ID", con);
dataset.Clear();
datadap.Fill(dataset);
dgInventory.DataSource = dataset.Tables[0];

結果集“ 庫存 ”為

Inv_ID  Type           Qty  Code    Cost    Sell    Percent
3       Spockets Rear   1   1000    100.00  150.00  33.33   
4       Seat Cover      1   1000    10.00   12.00   16.67   
5       Brake Cable     1   5000    20.00   24.00   2       
6       Seat Cover      1   4400    400.00  411.00  1           
8       Spockets Rear   1   1503    1522.00 1252.00 15      
9       Seat Cover      1   1522    152.00  180.00  12      
10      Seat Cover      1   1522    152.00  180.00  12      
11      Seat Cover      1   1522    152.00  180.00  12  
12      Lights          1   5623    123.00  160.00  10      
13      Brake Shoe      1           90.00   100.00  10    
14      Brake Shoe      1           90.00   100.00  10   
15      Sprockets Front 1   100     2000.00 2200.00 9.0     
16      Spockets Rear   3   1001    615.00  800.00  23.125  

該表InventoryMake表具有Inventory ID作為外鍵。 庫存表看起來像

ID  Model_ID   Inv_ID
1     2         15
7     3         15
8     5         14
9     4         14

我需要做的是在清單表的一行中顯示外鍵Inv_ID的對應Model_ID ,如下所示。

Inv_ID  Type           Model_ID   Qty  Code    Cost    Sell    Percent
3       Spockets Rear              1   1000   100.00    150.00  33.33   
4       Seat Cover                 1   1000   10.00      12.00  16.67   
5       Brake Cable                1   5000   20.00      24.00  2       
6       Seat Cover                 1   4400   400.00    411.00  1           
8       Spockets Rear              1   1503   1522.00   1252.00 15      
9       Seat Cover                 1   1522   152.00    180.00  12      
10      Seat Cover                 1   1522   152.00    180.00  12      
11      Seat Cover                 1   1522   152.00    180.00  12  
12      Lights                     1   5623   123.00    160.00  10      
13      Brake Shoe                 1          90.00     100.00  10    
14      Brake Shoe        5,4      1          90.00     100.00  10   
15      Sprockets Front   2,3      1    100   2000.00   2200.00 9.0     
16      Sprockets Rear             3    1001  615.00    800.00  23.125  

我需要您的幫助來確定如何在一行中顯示幾條記錄,如上表所示。 謝謝。 PS:我正在使用C#和MSSQL 2008

如果數據存儲在數據庫中,則可以作為查詢的一部分進行檢索。 選擇Model_ID作為逗號分隔的字符串。

SELECT GROUP_CONCAT(Model_ID) 
FROM InventoryMake as IM,Inventory as I
WHERE I.Inv_ID = IM.Inv_ID
GROUP BY I.Inv_ID

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM