2012-02-04 126 views
1

如何根據numericupdown值的值添加和刪除行?基於numericupdown在DataGridView中添加行

我試過創建這個;

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
     { 
      dataGridView1.Rows.Add(); 
     } 

它增加了正確,但是,當我減少它不斷增加的值!

是的我知道這真的是錯誤的,因爲無論何時數值下降值被改變,它總是會增加。

我在問什麼是增加屬性和減少數字控制屬性?有沒有辦法解決我的問題?

順便說一句,我已將numericupdown值設置爲1,以便1是默認值。

請!請!

+0

如果我的回答沒有包含足夠的細節,然後我誤解你的完整目標 - 你應該能夠與一個我寫信給你更換處理器numericUpDown1_ValueChanged和解決你的問題我的理解。你用我的代碼看到的不是你想要的行爲? – 2012-03-15 20:59:45

回答

3

不要忘記,數字上下控件可以直接編輯,所以當數值發生變化時,不能保證你只有一行不同於以前的位置。

您需要更改行數,直到它與數值控件的當前值相匹配。事情是這樣的:

private void numericUpDown1_ValueChanged(object sender, EventArgs e) 
{ 
    // presuming numericUpDown1 cannot have a value below zero 

    // Note that when dataGridView1.Rows.Count == numericUpDown1.Value 
    // these loops will do nothing, as we would want... 
    while (dataGridView1.Rows.Count < numericUpDown1.Value) 
    { 
     dataGridView1.Rows.Add(); 
    } 
    while (dataGridView1.Rows.Count > numericUpDown1.Value) 
    { 
     dataGridView1.Rows.RemoveAt(dataGridView1.Rows.Count - 1); 
    } 
} 
+0

謝謝你先生。這是一個很好的參考:)) – 2012-02-12 01:33:13