0

我的问题在于将值显示到 DGV 控件的单元格中,例如:

MySQL 表:

ID - Name      - Price    - Type
1    Mouse Pad   2.85$    -  a
2    Keyboard    10.50$   -  a
3    Hard Disk   80.00$   -  c
4    Web Cam     15.02$   -  b
5    Printer     45.62$   -  c
6    DVD Writer  20.00$   -  b

我的 DataGridView 控件:

ID - Name       - PriceA    - PriceB    - PriceC

我想显示结果过滤这些条件[VB.NET sintax]:

If SQLcolumn(Type) = a Then, show the price into PriceA into the DGV.
If SQLcolumn(Type) = b Then, show the price into PriceB into the DGV.
If SQLcolumn(Type) = c Then, show the price into PriceC into the DGV.
4

2 回答 2

1

一种方法是创建一个包含 5 列的自定义列表:ID、Name、PriceA、PriceB、PriceC,例如,在从数据库获取数据并将数据填充到数据表中之后,您可以逐行处理数据表并检查类型您的 datatablerow 的列是 Type 'a' 然后将该行添加到列表中并将价格添加到列表的 PriceA 列中,在处理整个数据表并将其所有行添加到列表之后,您可以将列表设置为 Datagridview 数据源!

于 2012-06-10T18:04:35.267 回答
1

您可以使用 SQL Pivot 运算符来完成:

SELECT  ID ,
        Name ,
        [a] AS [TypeA] ,
        [b] AS [TypeB] ,
        [c] AS [TypeC]
FROM    tbl PIVOT ( SUM(Price) FOR TYPE IN ( a, b, c ) ) AS pvt
于 2012-06-10T18:15:08.920 回答