Оператор '> =' нельзя применить к операндам типа 'object' и 'int' в значениях ячеек таблицы данных - PullRequest
0 голосов
/ 13 ноября 2018

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

if (dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"].Value >= 0) {

do something

}

Я не знаю, как преобразовать его в Int, когда я делаю это, он говорит, что это неправильно:

if (dataGridView1.CurrentRow.Convert.ToInt32(Cells["totalQTYColumnDataGridViewTextBoxColumn"].Value) >= 0) {

do something

}

1 Ответ

0 голосов
/ 13 ноября 2018

Сначала необходимо проанализировать значение как целое число, а затем выполнить сравнение.Вы не можете сравнить System.Object с целочисленным литералом.

var cell = dataGridView1.CurrentRow.Cells["totalQTYColumnDataGridViewTextBoxColumn"];
int totalQTY;
if(int.TryParse(cell.Value?.ToString(), out totalQTY)
  && totalQTY >= 0)
{

}

Примечание: int.TryParse возвращает true, если синтаксический анализ завершается успешно, в противном случае возвращает false.При успешном разборе проанализированное значение копируется в totalQTY.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...