Задать вопрос

DataGridView соханить изменения C#?

Добрый день!

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

Есть следующий код:
private void AddRowTable()
        {
            if ((this.dataGridView1.RowCount - 1) < icount)
            {
//После очередного создания новой строки прежние значения пропадают и строка остается пустой
                this.dataGridView1.Rows.Add( );
            }
        }
//По завершению цикла создаю новую строку и вношу в нее параметры
        private void AddFqParametrTable(string fq, string tension)
        {
            AddRowTable();
            this.dataGridView1.Rows[icount].Cells[0].Value = fq;
            this.dataGridView1.Rows[icount].Cells[3].Value = tension;
        }
        private void AddParametrTable(string att, string tension, string tensionShtudy)
        {
            if(Convert.ToDouble(tension) < Convert.ToDouble(tensionShtudy))
            {
                this.dataGridView1.Rows[icount].Cells[1].Value = att;
                this.dataGridView1.Rows[icount].Cells[2].Value = tension;

            }
            if (Convert.ToDouble(tension) > Convert.ToDouble(tensionShtudy))
            {

                this.dataGridView1.Rows[icount].Cells[5].Value = att;
                this.dataGridView1.Rows[icount].Cells[4].Value = tension;
            }
        }


Таблица у меня служит только для вывода динамических значений, которые я не хочу сохранять не куда нужно лишь их отображение. Но проблема в том что добавленные значения не сохраняются после добавления новой строки.

Что нужно сделать что бы измененные ячейки сохраняли значения? Тесть не оставались пустыми, я так понимаю нужно за что то дернуть что бы таблица приняла изменения?

Что нужно сделать, перед добавлением новой строки что бы значения предыдущей строки не пропадали?

Вот что получается:
По началу вроде все ок

f264275661c349a493cefb5795d50a13.png

Но после добавления новой строки не чего не сохраняется:
1dc49e106dae4d4cb1997dade3da3542.png

Что нужно сделать или вызвать что бы происходило охранении\запоминание измененных значений в таблице?

ЗЫ диплом сдавать через неделю, а тут еще конь не валялся)
  • Вопрос задан
  • 1016 просмотров
Подписаться 2 Простой Комментировать
Пригласить эксперта
Ответы на вопрос 2
@saltydogd
Дело скорее всего в несоответствии значения индекса добавляемой строки в грид и индексом той строки, куда производится присваивание -
используйте значение возвращаемое var newRowIndex = this.dataGridView1.Rows.Add(); и сравните
с индексом присвоения icount.
Новая строка помещается перед/после текущей, а значения просто затираются в текущей по счетчику
Ответ написан
Комментировать
@cthulhudx
gridView.BeginInvoke((MethodInvoker) delegate() {
gridView.Rows.Clear(); //Очистка таблицы
for(...) {
//Заполнение таблицы новыми значениями
}
}
Ответ написан
Комментировать
Ваш ответ на вопрос

Войдите, чтобы написать ответ

Похожие вопросы