У меня есть datagridview с 7 столбцами. Но он не привязан к какой-либо базе данных. Строки будут добавляться из нескольких текстовых полей по строкам, когда я нажимаю кнопку «Добавить» в моей форме. Но у меня проблема с данными моего шестого столбца (ячейки [5]).Математическая операция Datagridview со следующими данными строки
текущей строка шестого значения данных столбца = следующая строка значение второго столбца - текущая строка значение второго столбца
я могу сделать это с первенствуете очень легко. но как я могу это сделать на datagridview? коды приветствуются.
вот мой код.
private void FEAdd_Click(object sender, EventArgs e)
{
int n = dgvFE.Rows.Add();
dgvFE.Rows[n].Cells[0].Value = dateTimePicker1.Value.ToString("dd-MM-yyyy");
dgvFE.Rows[n].Cells[1].Value = MtrtextBox1.Text.ToString();
dgvFE.Rows[n].Cells[3].Value = PltrtextBox11.Text.ToString();
dgvFE.Rows[n].Cells[4].Value = BvtextBox12.Text.ToString();
foreach (DataGridViewRow row in dgvFE.Rows)
{
dgvFE.Rows[row.Index].Cells[2].Value = Math.Round((Double.Parse(dgvFE.Rows[row.Index].Cells[4].Value.ToString())/Double.Parse(dgvFE.Rows[row.Index].Cells[3].Value.ToString())), 2).ToString();
if (n >1)
{
dgvFE.Rows[row.Index-1].Cells[5].Value = Math.Round((Double.Parse(dgvFE.Rows[row.Index].Cells[1].Value.ToString()) - Double.Parse(dgvFE.Rows[row.Index-1].Cells[1].Value.ToString())), 2).ToString();
}
}
}
Я получаю ниже ошибки,
Необработанное исключение типа 'System.ArgumentOutOfRangeException' произошло в mscorlib.dll
Дополнительная информация: Индекс находился вне диапазона. Должен быть неотрицательным и меньше размера коллекции.
Это сработало, когда я ввел 3-й ряд данных в dgv. почему он не работает, когда есть только две строки? –
Я обновил свой ответ. измените 'n> 1' на' n> 0'. использовал ваш код здесь и не заметил, что – ASh
Большое вам спасибо. это сработало. –