Добавление строк в DataGridView на основе числового значения вниз - PullRequest
2 голосов
/ 04 февраля 2012

Как можно добавлять и удалять строки на основе значения числового значения вниз?

Я пытался создать это;

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

Однако добавляется правильно, когда я уменьшаюзначение, которое он продолжает добавлять снова !!!

Да, я знаю, что это действительно неправильно, потому что оно всегда добавляется всякий раз, когда изменяется числовое значение downdown.

Что я спрашиваю, так это то, что в числовом элементе управления есть свойство увеличения и уменьшения свойства?Есть ли способ решить мою проблему?

Кстати, я установил значение numericupdown на 1, чтобы значение 1 было значением по умолчанию.

ПОЖАЛУЙСТА, ПОЖАЛУЙСТА !!!

1 Ответ

3 голосов
/ 07 февраля 2012

Не забывайте, что числовые элементы управления вверх-вниз можно редактировать напрямую, поэтому при изменении значения нет гарантии, что вы просто на одну строку отличается от того, что было раньше.

Вам необходимо изменить количество строк, пока оно не совпадет с текущим значением числового элемента управления. Примерно так:

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);
    }
}
...