Модераторы: gambit, Partizan
  

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> корректное обновление DataGridView 
:(
    Опции темы
tusha
Дата 27.2.2010, 00:58 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 17.7.2008

Репутация: нет
Всего: 1



пытаюсь отобразить изменения в DataGridView:

Код

............................
BindingSource bs = new BindingSource();
DataTable dt = new DataTable;
SqlDataAdapter sqlda = new SqlDataAdapter(......)
.............................
bs.DataSource=dt;
..................................
void GridFill()
{
   sqlda.fill(dt);
   myDataGridView.DataSource=bs;
}

дальше в исходную таблицу добавляются/удаляются данные - исходную таблицу надо перечитать и заново отобразить:

делаю:
Код

myDataGridView.DataSource=null;
GridFill()
 
или 

GridFill();
bs.ResetBindings(false);


в обоих случаях ругается на то, что уже существует открытый DataReader и что его необходимо закрыть. какой порядок действий для корректного отображеня при перечитывании всей таблицы??
PM MAIL   Вверх
Fortnox
Дата 28.2.2010, 10:13 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


Профиль
Группа: Участник
Сообщений: 373
Регистрация: 31.10.2008
Где: Ростов-на-Дону

Репутация: 2
Всего: 22



Для задачи обязательно надо перечитать?

Ведь можно проще сохранить все изменения в таблице:
Код

// TableAdapter - адаптер таблицы в DataGridView
// DataSet - данные (датасет) вашей таблицы, или все базы данных
// Если всей - DataSet, таблицы - DataSet.ИМЯ_ТАБЛИЦЫ
this.TableAdapter.Update(this.DataSet);


Это сообщение отредактировал(а) Fortnox - 28.2.2010, 10:14
PM MAIL   Вверх
tusha
Дата 28.2.2010, 12:29 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 98
Регистрация: 17.7.2008

Репутация: нет
Всего: 1



да, обязательно перечитать( некоторые поля заполняются триггером, + есть идентити колонка) в простых случаях я действительно обхожусь простым Update(...) у адаптера.
впринципе не знаю почему, но решил эту проблему очищением таблицы. тоесть перед тем, как запросить новую информацию, делаю DataTable.Clear()

Это сообщение отредактировал(а) tusha - 28.2.2010, 12:31
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
mr.DUDA
THandle

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.
Что делать если Вам помогли, но отблагодарить помощника плюсом в репутацию Вы не можете(не хватает сообщений)? Пишите сюда, или отправляйте репорт. Поставим :)
Так же не забывайте отмечать свой вопрос решенным, если он таковым является :)


Если Вам понравилась атмосфера форума, заходите к нам чаще! С уважением, mr.DUDA, THandle.

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Разработка Windows Forms | Следующая тема »


 




[ Время генерации скрипта: 0.0411 ]   [ Использовано запросов: 22 ]   [ GZIP включён ]


Реклама на сайте     Информационное спонсорство

 
По вопросам размещения рекламы пишите на vladimir(sobaka)vingrad.ru
Отказ от ответственности     Powered by Invision Power Board(R) 1.3 © 2003  IPS, Inc.