2014-11-08 45 views
0

我正在開發一個win form application和我被困在情況與data grid view。 我究竟想要做的是,如果我再進入根據bar-code我想獲得的數據和在品牌名稱和項目名稱和MRP和所有的combo box填補他們一些條形碼。 哪個事件我應該從事的,我怎麼能獲得數據,並在此data grid-view排滿。如何在更改字段值時在DatagridView中的行的單元格中設置值?

Desc

+0

我希望我的時間將是有益的結果有新的想法和解決方案 – daniele3004 2014-11-08 08:17:50

+0

需要更多澄清? – daniele3004 2014-11-08 11:14:19

回答

0

您可以在許多方面做到這一點,我有經驗的DataGridView我一樣如下。 假設你有一個模型類爲您的dataGridView

public class MyBarcodeRow 
    { 
     private String barcode = String.Empty; 

     public String Barcode 
     { 
      get { return barcode; } 
      set { 

       barcode = value; 
       ////TODO OPERATION ON OTHER FIELD 
       //FOR EXAMPLE GET DATA OF QUANTITY FROM DATABASE 

       this.Quantity = new Random().Next(Int32.MaxValue); 
      } 
     } 

     private int quantity = 0; 

     public int Quantity 
     { 
      get { return quantity; } 
      set { quantity = value; } 
     } 

     //AND OTHER FIELD 

    } 

在表單拖動的BindingSource和相關的IT

BindingSource.DataSource = MyBarcodeRow 

現在,當你插入的條形碼,並留下細胞可以加載其他數據值。

enter image description here

從以往的經驗,我建議你重點的BindingSource和類模型的使用視圖的get/set方法的事件。

然後也有很多有趣的事件在網格,但是,從這個角度來看

0

使用DataGridViewComboBoxColumn.DataSource使用時,這些結構是最好的。
比如你有一個類的Brand

public class Brand 
{ 
    public int32 ID {get; set;} 
    public string Name {get; set;} 
} 

form創建品牌的列表,並填充數據(從數據庫中,我假設)

List<Brand> _brands; 
this.dgvBrandNamesColumn.DataSource = _brands; 
this.dgvBrandNamesColumn.DisplayMemeber = "Name"; 
this.dgvBrandNamesColumn.ValueMemeber = "Name"; 

將數據添加到DataGridView
DataGridViewComboBoxColumn將來自數據源(_brands

選擇相匹配的品牌名稱對於更具體的幫助,顯示的代碼與數據填充的DataGridView以及如何/從你在哪裏得到所有的品牌名稱

相關問題