Рейтинг:
0
Mithlesh Shaw
Попробуйте следующий код:
decimal val=0;
foreach (DataGridViewRow item in dataGridView1.Rows)
{
if (item.Cells[1] != null && item.Cells[1].Value != null)
val += Convert.ToDecimal(item.Cells[1].Value);
}
MessageBox.Show(val.ToString());
Boopalslm
Ошибка пришла для нижеприведенной строки
val += конвертировать.ToDecimal(item.Ячейки[1].Значение);
Входная строка была не в правильном формате.
Mithlesh Shaw
Здесь 1-индекс ячейки. В вашей программе вы ставите свой индекс клеток. Индекс ячейки начинается с 0.
Boopalslm
я знаю, но мой индекс ячейки равен 9, я установил 9 для индекса ячейки, в 9-й ячейке есть несколько пустых ячеек, так что ниже ошибка пришла.
Объект не может быть приведен из DBNull в другие типы.
Mithlesh Shaw
десятичное значение=0;
const int CELL_INDEX = 1;//индекс вашего столбца
по каждому элементу (элемент ячейки datagridviewrow в dataGridView1.Строк)
{
если (пункт.Ячейки[CELL_INDEX] != null && item.Ячейки[CELL_INDEX].Значение != null)
val += конвертировать.ToDecimal(item.Ячейки[CELL_INDEX].Ценность);
}
Ящик для сообщений.Показать(val.ToString());
Boopalslm
Произошла та же ошибка.
val += конвертировать.ToDecimal(item.Ячейки[9].Значение);
Объект не может быть приведен из DBNull в другие типы.
Mithlesh Shaw
заменить, если заявление и проверить
если (пункт.Ячейки[CELL_INDEX] != null
&& пункт.Ячейки[CELL_INDEX].Value != null && item.Ячейки[CELL_INDEX].Значение != Система.Значение dbnull.Ценность)
Boopalslm
я менять свой если заявление, но
перед запуском произошла ошибка
недопустимый термин выражения '}'
Boopalslm
k он работает нормально , но показывает нулевое значение(0), но мои ячейки сетки имеют некоторые значения.
Mithlesh Shaw
вы пропустили '}'
вот полный код
десятичное значение=0;
const int CELL_INDEX = 1;//индекс вашего столбца
по каждому элементу (элемент ячейки datagridviewrow в dataGridView1.Строк)
{
если (пункт.Ячейки[CELL_INDEX] != null
&& пункт.Ячейки[CELL_INDEX].Value != null && item.Ячейки[CELL_INDEX].Значение != Система.Значение dbnull.Ценность)
val += конвертировать.ToDecimal(item.Ячейки[CELL_INDEX].Ценность);
}
Ящик для сообщений.Показать(val.ToString());
Boopalslm
Сэр, большое спасибо, что работаете супер, и еще раз спасибо.