2012-02-23 2 views
1

mysql 쿼리에 선택된 필드 (item_code, item_name, item quantity, item_selltype, item_selldetail)가 있지만이 필드 중 일부는 변형입니다.DB VB.NET에서 Datagridview 채우기

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 
01 Ball  5 10.52  0   0   0 
02 Keyboard 10 50.00  0   0   0 
03 Gasoline 5 0   0   0   70.45 

내가 검색 :

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

그때 내가있는 DataGridView에서이 결과를 필요 여러 가지면에서 몇 가지 코드가 있습니다. t는 이것을 할 수 있지만 성공할 수는 없습니다.

답변

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(); 
     } 
    } 
} 

다음 해당 List<Item>에 그리드의 DataSource을 설정합니다.

관련 문제