基于numericupdown在DataGridView中添加行

时间:2012-02-04 06:45:15

标签: winforms datagridview numericupdown

如何根据numericupdown值的值添加和删除行?

我试过创造这个;

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

它添加正确,但是,当我减少它继续添加的值!

是的,我知道它确实是错的,因为每当更改numericupdownvalue时它总是会添加。

我要问的是数字控件中是否存在增加属性和减少属性?有办法解决我的问题吗?

顺便说一句,我已将numericupdown值设置为1,因此1是默认值。

请PLEASE !!!

1 个答案:

答案 0 :(得分: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);
    }
}