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

Поиск:

Ответ в темуСоздание новой темы Создание опроса
> Отображение данных в DataGridView (VS 2008). 
V
    Опции темы
KaSandra
Дата 6.3.2008, 15:20 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Привет!
Помогите пожалуйста, подскажите, как отобразить данные в DataGridView (VS2008,C#).
Код

                conn.Open ();
                SqlCommand com = new SqlCommand("select * from ProdJournalTable where JournalId like '%" + JournalIdMask + "'", conn);
                SqlDataReader readerProdJournalTable = com.ExecuteReader();
                dataGridView1.DataSource = readerProdJournalTable;


PM MAIL   Вверх
HellMasterHaiL
Дата 6.3.2008, 17:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



а не лучшебы использовать датасет?

Создаем в проекте DataSet DS_ProdJournal, в нем конструктором делаем TableAdapter к искомой таблице в БД ProdJournalTable, таким же именем DataAdapter  и назовем. 

Потом в конструкторе на форме делаем BindingSource на нашу таблицу ProdJournalTable в DataSet'е, мну проще в конструкторе, а так кодом примерно выглядит так:
Код

        Dim ProdJournalTable As DataTable = DS_ProdJournal.Tables("ProdJournalTable")
        Dim dataSource As New BindingSource(ProdJournalTable, Nothing)
        dataGridView1.Columns.Clear()
        dataGridView1.DataSource = Nothing
        dataGridView1.DataSource = dataSource


если нужно программно поменять конекшен или данные в таблице датасета DS_ProdJournal.ProdJournalTable, то я делаю лично так:
Код

Dim myTableAdapter as new SqlDataAdapter (("select top * from ProdJournalTable where JournalId like '%" & JournalIdMask & "'",conn)
myTableAdapter.Fill (DS_ProdJournal.ProdJournalTable)

ДатаГрид обновится сам

не знаю помог или же писанину развел)

PM MAIL ICQ   Вверх
KaSandra
Дата 6.3.2008, 19:28 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Спасибо за ответ! Но к сожалению данный способ работы мне не подходит. Программа с использованием DataSet, DataAdapter уже мной написана, но для другой задачи. В данном же случае более удачным является присоединенный режим работы с БД, а не отсоединенный, т.е. эффективнее использовать  DataReader.

Это сообщение отредактировал(а) KaSandra - 6.3.2008, 19:30
PM MAIL   Вверх
HellMasterHaiL
Дата 6.3.2008, 19:56 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Бывалый
*


Профиль
Группа: Участник
Сообщений: 181
Регистрация: 9.8.2006
Где: Россия, МО, г. Юб илейный

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



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

PM MAIL ICQ   Вверх
KaSandra
Дата 7.3.2008, 08:59 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Нет, он точно есть. Вот в VS2005 всего-то к моему коду нужно добавить одну строку DataGrid1.DataBind().

Ура! Нашла! Работает!

Это сообщение отредактировал(а) KaSandra - 7.3.2008, 13:13
PM MAIL   Вверх
Chertov
Дата 13.3.2008, 16:07 (ссылка) | (нет голосов) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



Компилятор VS 2008... там в гриде нету DataBind().
У меня аналогичная проблема... необходимо обновлять dataGridView...
датагридвью настроен... подогнаны размеры колонок

если я делаю 
Код

            grid.Columns.Clear();
            grid.DataSource = null;
            grid.DataSource = dt;
            grid.Update();

то у меня данные появляются в таблице, но все оформление и настройки датагрида слетают

если не пишу grid.Columns.Clear(); то у меня просто добавляются колонки справа и в них данные... а я хочу вставить данные в настроенный грид
Код

            grid.DataSource = null;
            grid.DataSource = dt;
            grid.Update();


Пока тупо пересчитываю так
Код

        private void Client_UpdateTable0(DataTable dt)
        {
            //grid.Columns.Clear();
            //grid.DataSource = null;
            //grid.DataSource = dt;
            //grid.Update();

            for (int i = 0; i < grid.Rows.Count; i++)
                for (int j = 0; j < grid.Columns.Count; j++)
                    grid[j, i].Value = dt.Rows[i].ItemArray[j].ToString();

        }



Это сообщение отредактировал(а) Chertov - 13.3.2008, 16:08
PM MAIL   Вверх
KaSandra
Дата 13.3.2008, 22:17 (ссылка) |    (голосов:1) Загрузка ... Загрузка ... Быстрая цитата Цитата


Новичок



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

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



DataGridView настраивать пока даже не пыталась. Но данные отобразила другим способом. 

Код

                SqlDataReader reader = cmd.ExecuteReader();
                BindingSource b = new BindingSource();
                b.DataSource = reader;
                dataGridView1.DataSource = b;


Это сообщение отредактировал(а) KaSandra - 14.3.2008, 08:39
PM MAIL   Вверх
  
Ответ в темуСоздание новой темы Создание опроса
Прежде чем создать тему, посмотрите сюда:
stab
mr.DUDA
Exception

Используйте теги [code=csharp][/code] для подсветки кода. Используйтe чекбокс "транслит" если у Вас нет русских шрифтов.

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

 
0 Пользователей читают эту тему (0 Гостей и 0 Скрытых Пользователей)
0 Пользователей:
« Предыдущая тема | Базы данных под .NET | Следующая тема »


 




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


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

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