2013-03-12 60 views
0

我有一個Winform應用程序,我希望用戶能夠針對產品列表輸入一些庫存更正,這些產品將依次爲每個這些更正創建數據庫記錄。如何在Winforms中使用C#輸入數據列

使用組合框,我知道了,所以每個項目都必須依次選擇。它工作的很好,但不是非常方便用戶。理想情況下,我想要一個空列列表的產品輸入更正,點擊提交併完成。

我看着使用datagrdiview。我可以生成產品列表,但我不知道如何創建「輸入欄」。

任何建議的路徑?

乾杯, 麻木

編輯

這裏是一個實物模型的我想這樣做,使之儘可能明確沒有表現出什麼碼...

sample of what I'd like

+0

請粘貼您的用戶界面的代碼或屏幕截圖。沒有得到你所擁有的和你想要達到的。 – Freelancer 2013-03-12 12:44:13

+0

你想只在網格中做這些事情嗎? – Freelancer 2013-03-12 12:45:50

+0

請快速回復,因爲當您提出問題時,我們會爲此付出一些努力。所以PLZ有一些尊重。 – Freelancer 2013-03-12 12:49:37

回答

1

如果你想使用「提交」按鈕來保存新的股票更正,那麼 的做法將是:

- 創建與產品名稱和空單元格的股票校正

一個DataGridView - 後「提交」按鈕被點擊閱讀「更正」列中的值,如果值存在更新數據庫...

在這裏你可以怎麼做它:

在設計師dgvProductCorrections創建一個DataGridView, 然後設計師在此datagridview的 dgvProductCorrection_ProductdgvProductCorrection_Correction創建兩列。 將這個(或)在列,請將.Name屬性

然後,我假定你有一類產品,其中存在的屬性,請將.Name列名, 你將需要把這個屬性的名稱(在我的例子將名稱)在.DataProperty列

以上可以與設計師或代碼(構造函數)

添加列表產品List<Product> lstProducts;中的datagridview會像做:

dgvProductCorrections.DataSource = lstProducts; //(this may be in Form_Load) 

Rememeber添加列表前一個DataGridView屬性AutoGenerateColumns設置爲False

dgvProductCorrections.AutoGenerateColumns = false; 

在您提交按鈕的Button_Click事件處理程序放在哪裏,你通過所有的行和讀修正值loopin代碼。之後,您可以使用這些值更新數據庫

//Code in Button_Click 
{ 
    foreach(DataGridVewRow dgvr in dgvProductCorrections.Rows) 
    { 
     Decimal fCorrection; 
     //Check if value exists and it can be used. Add own other checks 
     if(dgvr.Cells(this. dgvProductCorrection_Correction.Name).Value != null && Decimal.TryParse(dgvr.Cells(this.dgvProductCorrection_Correction.Name).Value.ToString(), fCorrection) = True) 
     { 
     //Here you can put a update code, or save a correction in list and then update all by one update call 
     } 
    } 
} 
+0

非常感謝你。我會去的。乾杯... – ComfortablyNumb 2013-03-13 08:25:16

+0

工作過一次款再次感謝:-) – ComfortablyNumb 2013-03-14 15:06:04

相關問題