2017-09-15 63 views
0

在使用LiteDB的C#中,我正在處理一個小項目,我正在尋找一種將條目添加到具有5列+ 1文本框的datagridview的方法。在輸入1個文本框時存儲多個值?

在DataGridView的,我有一個colID所以,如果我在文本框DEV5進入 DGV選擇該行,我可以在他們行這樣的例子寫:

在文本框I型:

DEV5 [確定] - >由DGV選擇的線 - > [確定] - > [確定] ..

|colID |col2|col3|col4|col5| 
|--------------------------| 
|dev3 | | | | | 
|dev4 | | | | | 
|--------------------------| 
*|dev5 | 2 | 5 | | | 
|--------------------------| 
|dev6 | | | | | 
------------------------------ 

我需要在[Enter]上存儲文本框的值,像{dev5,2,5,「」,「」}

並插入到數據庫中,因爲實際上,在每個[enter]更新我的表是這樣的:

dev5;2 
dev5;2;5 
dev5;2;5;8 
dev5;2;5;8;9 

就像你看到的,它沒有優化,以便於更好的結果,但我只需要在最後一行..

任何想法解決這個問題,歡迎

+0

從理論上講,您可以簡單地捕獲輸入時按下的文本框的內容並將這些值存儲在列表中?該列表應該很容易迭代。 –

+0

@JDDavis是一種有趣的方法!但是如果我每次點擊[Enter] 3次不同的值,我如何將它存儲到我的文本列表中? – Kate

+0

您只需確保每次按下輸入時清除文本框,每次更新列表都應該相對簡單。 –

回答

1

一種可能的方法看起來像這樣

public List<string> Values = new List<string>(); 
public void UpdateValues() 
{ 
    var value = textBox1.Text; 

    Values.Add(value); 
    textBox1.Clear(); 

} 

private void textBox1_KeyPress(object sender, KeyPressEventArgs e) 
{ 
    if (e.KeyChar == (char) Keys.Return) 
    { 
     UpdateValues(); 
    } 
} 
+0

好吧,我發現我的問題!我在我的文本框中聲明瞭我的List <>,所以它之前沒有工作,因爲我們需要在我的方法之外聲明。感謝你的例子,它是完美的! – Kate

相關問題