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

Поиск:

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


Шустрый
*


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

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



Столкнулся с такой проблемой - имею форму с DataGridView,при загрузке формы заполняю ее содержимым так:
Код

qMachModel = from c in db.MachineModels
                         select c;
bnSource.DataSource = qMachModel;
dataGridView1.DataSource = bnSource;

где bnSource экземпляр BindingSource. Но в случае добавления новой строки в БД, содержимое dataGRidView не обновляется. В инете нашел вроде лекарство, хотя и не совсем для моего случая:
Код

DataClasses1DataContext db = new DataClasses1DataContext();

        private void Form1_Load(object sender, EventArgs e)
        {
            LoadBinding();
        }

        private void LoadBinding()
        {
            tmpTableBindingSource.DataSource = db.TmpTables;   
        }

        private void AddNewRecord_Click(object sender, EventArgs e)
        {
            TmpTable newRecord = new TmpTable()
            {
                ad = "asd"
            };

            db.TmpTables.InsertOnSubmit(newRecord);
            db.SubmitChanges();
            LoadBinding();
        }

        private void ShowRecordCounts_Click(object sender, EventArgs e)
        {
            MessageBox.Show("Context Table: " + db.TmpTables.Count().ToString()+" BindingSource: "+ tmpTableBindingSource.Count.ToString());
        }

Но неужели постоянное выполнение tmpTableBindingSource.DataSource = db.TmpTables;   это самый оптимальный способ??? 
PM MAIL ICQ   Вверх
shmarov
Дата 13.8.2010, 18:00 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Шустрый
*


Профиль
Группа: Участник
Сообщений: 70
Регистрация: 15.6.2007
Где: 1001101 region

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



думаю тут дело в типе  коллекции

Код

using System.Collections.ObjectModel;
...
qMachModel = from c in db.MachineModels
                         select c;
ObservableCollection<MachineModels> source = new ObservableCollection<MachineModels>();
foreach (MachineModels mmodel in qMachModel)
        source.Add(mmodel);
bnSource.DataSource = source;


И дальше работай с этой коллекцией, всё должно быть ок.

ЗЫ. Код писал тут, мог наочепятатать
PM MAIL   Вверх
kurzon
Дата 12.9.2010, 18:16 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Опытный
**


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

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



2shmarov У меня проблема не может преобразовать объект qMachModel типа var в тип MachineModels.
Какой у тебя тип объекта qMachModel ?
Что делать?


Это сообщение отредактировал(а) kurzon - 12.9.2010, 18:17
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | LINQ (Language-Integrated Query) | Следующая тема »


 




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


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

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