【问题标题】:Populate Datagridview from DB VB.NET从 DB VB.NET 填充 Datagridview
【发布时间】:2012-03-14 01:21:24
【问题描述】:

我的 mysql 查询选择了字段(item_code、item_name、item quantity、item_selltype、item_selldetail),但其中一些字段是变体。

Dim sqlConn As String = ("SELECT item_code, item_name, item_quantity, item_selltype, item_selldetail FROM qa_items")
Dim objDataAdapter As New MySqlDataAdapter(sqlConn, objConn)

我假设查询返回:

item_code, item_name, item_quantity, item_selltype, item_selldetail
01         Ball       5              unit           10.52
02         Keyoard    10             unit           50.00
03         Gasoline   5              gallon         70.45

DataGridView 控件看起来是这样的:

Code, Name, Inv, Unit Price, Box Price, Pound Price, Gallon Price

那么我需要在 datagridview 中得到这个结果:

Code, Name,    Inv, Unit Price, Box Price, Pound Price, Gallon Price
01    Ball     5    10.52       0          0            0
02    Keyboard 10   50.00       0          0            0
03    Gasoline 5    0           0          0            70.45

我在很多方面搜索了一些可以做到这一点的代码,但我无法成功,求助..

【问题讨论】:

    标签: mysql vb.net datagridview populate


    【解决方案1】:

    我认为您需要一个翻译器对象。从数据库中获取您的数据,并使用它来填充类似这样的List<>:

    class Item
    {
        public int Code { get; private set; }
        public string Name { get; private set; }
        public int Inv { get; private set; }
        [DisplayName("Unit Price")]
        public double UnitPrice { get; private set; }
        [DisplayName("Box Price")]
        public double BoxPrice { get; private set; }
        [DisplayName("Pound Price")]
        public double PoundPrice { get; private set; }
        [DisplayName("Gallon Price")]
        public double GallonPrice { get; private set; }
    
        public Item(int item_code, string item_name, int item_quantity, string item_selltype, double item_selldetail)
        {
            Code = item_code;
            Name = item_name;
            Inv = item_quantity;
            UnitPrice = 0;
            BoxPrice = 0;
            PoundPrice = 0;
            GallonPrice = 0;
            switch (item_selltype)
            {
                case "unit": UnitPrice = item_selldetail; break;
                case "box": BoxPrice = item_selldetail; break;
                case "pound": PoundPrice = item_selldetail; break;
                case "gallon": GallonPrice = item_selldetail; break;
                default: throw new InvalidExpressionException();
            }
        }
    }
    

    然后将网格的DataSource设置为List<Item>。

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2012-02-27
      • 2014-09-17
      相关资源
      最近更新 更多