Увеличить значение dataGridView

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
Добрый день!
Есть таблица dataGridView, сделал в ней столбцы с кнопками при нажатии которых должны увеличиваться или уменьшаться значения соседней ячейки, почему то значение всегда меняется на 1 или на -1, а дальше не меняет, подскажите что я не учел?

Код:
dataGridView2.CellContentClick+= delegate(object sender, System.Windows.Forms.DataGridViewCellEventArgs e){
    var ind = dataGridView2.SelectedCells[0].RowIndex;                        //Индекс выделенной строки
    int zakkol = int.TryParse(dataGridView2.Rows[ind].Cells[10].ToString(), out zakkol) ? zakkol : 0;    //Парсим данные выделенной строки
    //Увеличиваем значение при нажатии на +
    if (dataGridView2.SelectedCells[0].ColumnIndex == 9){       
        zakkol = zakkol++;
        dataGridView2.Rows[ind].Cells[10].Value = zakkol;
    }
    //Уменьшаем значение при нажатии на -
    if (dataGridView2.SelectedCells[0].ColumnIndex == 11){
        zakkol = zakkol--;
        //Не даем уменьшится значению ниже 0
        if (zakkol > 0){
            dataGridView2.Rows[ind].Cells[10].Value = zakkol;
        }
        else
        {
            System.Windows.Forms.MessageBox.Show("Значение не может быть отрицательным");
        }
    }
};
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 956
Благодарностей
781
Баллы
113
скорее всего вот тут int zakkol = int.TryParse(dataGridView2.Rows[ind].Cells[10].ToString(), out zakkol) ? zakkol : 0;

всегда возвращает 0
 
  • Спасибо
Реакции: baimkin

baimkin

Client
Регистрация
04.08.2015
Сообщения
283
Благодарностей
111
Баллы
43
да, уже решил вопрос, вот так должно быть:
int zakkol = int.TryParse(dataGridView2.Rows[ind].Cells[10].Value.ToString(), out zakkol) ? zakkol : 0;
 

arhip1985

Client
Регистрация
31.10.2011
Сообщения
2 956
Благодарностей
781
Баллы
113
дело в то, что int.TryParse возвращает bool , а вы пишите int zakkol

а ну да, натупил чуть, всё верно
 

Dimionix

Moderator
Регистрация
09.04.2011
Сообщения
3 068
Благодарностей
3 106
Баллы
113
Замени

zakkol = zakkol++;
zakkol = zakkol--;

на

zakkol++;
zakkol--;

или на

zakkol = zakkol + 1;
zakkol = zakkol - 1;
 
  • Спасибо
Реакции: baimkin

Кто просматривает тему: (Всего: 1, Пользователи: 0, Гости: 1)