Версия для печати темы
Нажмите сюда для просмотра этой темы в оригинальном формате
Форум программистов > VB .NET > Не обновляет записи DataGridView


Автор: renat123 16.4.2012, 13:31
      Если в этом коде поставить вместо   DataGridView1.DataSource = MyTable1 то данные отображаются.
   
      
Код

        FormGeneration.BindingSource1.DataSource = FormMain.MyDataSet
        FormGeneration.BindingSource1.DataMember = MyTable1.TableName
        FormGeneration.DataGridView1.DataSource = FormGeneration.BindingSource1.DataSource
        FormGeneration.DataGridView1.DataMember = FormGeneration.BindingSource1.DataMember

 Вопрос - почему данные не отображаются???

Автор: diadiavova 16.4.2012, 13:47
Трудно сказать по фрагменту, особенно если учесть, что неясно что значит то или иное имя. Наиболее типичная ошибка в подобный случаях - использование имени класса вместо имени объекта. К примеру неясно, что в твоем коде означает FormMain, если это имя класса, то проблема именно в этом.

Автор: renat123 16.4.2012, 16:19
Цитата(diadiavova @ 16.4.2012,  13:47)
Трудно сказать по фрагменту, особенно если учесть, что неясно что значит то или иное имя. Наиболее типичная ошибка в подобный случаях - использование имени класса вместо имени объекта. К примеру неясно, что в твоем коде означает FormMain, если это имя класса, то проблема именно в этом.

Все верно. Класс, а не объект. Сорри за ламерство. Как достать обьект главной формы? Или его надо создавать? Да, Тему можно закрыть. Ошибка очевидна и найдена. БОЛЬШОЕ СПАСИБО!

Автор: diadiavova 16.4.2012, 16:50
Цитата(renat123 @  16.4.2012,  17:19 Найти цитируемый пост)
 Как достать обьект главной формы? Или его надо создавать?

Если ты пытаешься сослаться на нее из нее же,то через слово Me, а так через Application.OpenForms, там можешь найти форму нужного тебе типа. Если тебе надо, чтобы именно главная форма была всегда доступна, то можешь к примеру создать модуль и определить там свойство MainForm, а при запуске главной формы, пусть она передает этому свойству ссылку на себя. Хотя чаще всего, когда такие вопросы возникают, причина в том, что ты неправильно подходишь к решению задачи. Как правило искать главную форму не требуется. Если это диалоговое окно, то оно должно просто возвращать какие-то данные, которые вызвавшая форма обрабатывает сама, а если, скажем, окно настроек, то оно сохраняет данные в параметрах приложения и главная форма берет их оттуда. А вот ситуации, когда надо искать главную форму и что-то в ней делать - как правило результат неправильного проектирования приложения.

Добавлено через 51 секунду
Цитата(renat123 @  16.4.2012,  17:19 Найти цитируемый пост)
 Да, Тему можно закрыть.

Функция "Пометить вопрос решенным" тебе доступна.

Автор: renat123 16.4.2012, 21:12
Цитата(diadiavova @ 16.4.2012,  16:50)
Цитата(renat123 @  16.4.2012,  17:19 Найти цитируемый пост)
 Как достать обьект главной формы? Или его надо создавать?

Если ты пытаешься сослаться на нее из нее же,то через слово Me, а так через Application.OpenForms, там можешь найти форму нужного тебе типа. Если тебе надо, чтобы именно главная форма была всегда доступна, то можешь к примеру создать модуль и определить там свойство MainForm, а при запуске главной формы, пусть она передает этому свойству ссылку на себя. Хотя чаще всего, когда такие вопросы возникают, причина в том, что ты неправильно подходишь к решению задачи. Как правило искать главную форму не требуется. Если это диалоговое окно, то оно должно просто возвращать какие-то данные, которые вызвавшая форма обрабатывает сама, а если, скажем, окно настроек, то оно сохраняет данные в параметрах приложения и главная форма берет их оттуда. А вот ситуации, когда надо искать главную форму и что-то в ней делать - как правило результат неправильного проектирования приложения.

Добавлено @ 16:50
Цитата(renat123 @  16.4.2012,  17:19 Найти цитируемый пост)
 Да, Тему можно закрыть.

Функция "Пометить вопрос решенным" тебе доступна.

Спасибо за ответ. Согласен. Буду пересматривать решение задачи.

Powered by Invision Power Board (http://www.invisionboard.com)
© Invision Power Services (http://www.invisionpower.com)