Amar chand123 Ответов: 2

Ошибка вычисления в datagridview в C#


у меня есть два DataGridView в WinForm, в WinForm Моя передача данных из DataGridView1 в DataGridView2 с помощью флажка.
у меня есть проблема в расчете "RemaningDays"

Эти данные показывают в DataGridView2, расчет не работает должным образом,в DataGridView2 только первая строка вычисляется правильно и остается строка только повторить расчет первой строки

Показать Результат
LastDay	     --------            Today----	          RemaningDays
16/5/2020	-----        4/5/2020  ----       	12
16/6/2020	     -----   4/5/2020	----            12
16/7/2020	      -----  4/5/2020	----            12

если я удалю первую строку, то результат покажет
LastDay	    --------     Today	  ----  RemaningDays
16/6/2020	-----4/5/2020	----  43
16/7/2020	-----4/5/2020	----  43

Пожалуйста, помогите мне решить эту проблему

Что я уже пробовал:

мой код

foreach (DataGridViewRow row in dataGridView2.Rows)
            {
                DateTime dt3 = Convert.ToDateTime(dataGridView2.CurrentRow.Cells["Today"].Value);
                DateTime dt1 = Convert.ToDateTime(dataGridView2.CurrentRow.Cells["LastDate"].Value);
                int s12 = (dt1 - dt3).Days;
                
                
                row.Cells["RemaningDays"].Value = s12;

                dataGridView2.Columns["LastDate"].ReadOnly = true;
                dataGridView2.Columns["Today"].ReadOnly = true;
		dataGridView2.Columns["RemaningDays"].ReadOnly = true;
                
            }

2 Ответов

Рейтинг:
7

RickZeeland

Вместо dataGridView2.CurrentRow.Использование ячеек: подряд.Клетки


Amar chand123

Благодарю Вас Сэр

Рейтинг:
13

phil.o

Вы не используете row переменная:

foreach (DataGridViewRow row in dataGridView2.Rows)
{            
   DateTime dt3 = DateTime.Parse(row.Cells["Today"].Value);
   DateTime dt1 = DateTime.Parse(row.Cells["LastDate"].Value);
   int s12 = (dt1 - dt3).Days;
                
   row.Cells["RemaningDays"].Value = s12;

   // ...
}


Amar chand123

Благодарю Вас Сэр

phil.o

Пожалуйста.