Datagridview refre sh data хранит старые значения там - PullRequest
2 голосов
/ 30 мая 2020

Я разрабатываю небольшую часть ПО, используя Windows Forms. Я пытаюсь заполнить datagridview содержимым списка, используя его свойство dataSource.

Привязка кажется правильной, но у меня такое поведение. Похоже, старые данные не удаляются, а новые помещаются над старыми, перекрывая оба текста. Я не могу определить причину.

Это поведение можно увидеть здесь

А здесь

Каждый раз Мне нужно обновить свой datagridview, который я вызываю:

 private void updateAforoInDatagridView()
 {
        parentForm.dataGridView2.DataSource = null; 
        parentForm.dataGridView2.DataSource = presenter.getTurnosState(dayBookings, dayTurnos);
        parentForm.dataGridView2.Refresh();
        parentForm.dataGridView2.Update();
 }

Это объект, который я пытаюсь разместить в datagridview

public string Entrada { get => entrada; set => entrada = value; }
public string Salida { get => salida; set => salida = value; }
public string Nombre { get => nombre; set => nombre = value; }
public decimal Aforo { get => aforo; set => aforo = value; }
public decimal Libre { get => libre; set => libre = value; }

Первые четыре свойства берутся из базы данных и последний добавлен мной вручную после некоторых вычислений здесь:

internal List<Turno> getTurnosState(List<Booking> dayBookings, List<Turno> dayTurnos)
{
    for (int i = 0; i < dayTurnos.Count; i++)
    {
        var currentTurno = dayTurnos[i];
        var bookingsForCurrentTurno = dayBookings.Where(booking => booking.TurnoName.Equals(currentTurno.Nombre) && booking.TurnoTime == DateAndTiming.getTimeFromString(currentTurno.Entrada)).ToList();
        currentTurno.Libre = currentTurno.Aforo - bookingsForCurrentTurno.Sum(booking => booking.NumberOfPeople);
    }

    return dayTurnos;
}

1 Ответ

0 голосов
/ 31 мая 2020

В конце концов я избавился от этого странного поведения, убрав datagridview из представления и добавив новый. Я не могу точно сказать, какое свойство вызвало такое поведение, но, к счастью, оно было решено.

Спасибо.

...