Гость
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему так медленно отображаются данные в DataGridView ? / 25 сообщений из 34, страница 1 из 2
23.03.2016, 18:11
    #39198995
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Вроде обычное подключение и простая выборка, в ней около 300 строк всего.
Но когда нажимаешь PgDn или стрелку вниз такое ощущение , что грид перерисовывается не спеша.
Если этот же запрос выполнять в Delphi (DbGrid), то там мгновенно делается.
Куда смотреть ?


DataGridView DataGridView1 = new DataGridView();
DataGridView1.Width = 850; // this.Width;
DataGridView1.Height = 450;
// DataGridView1.Dock = DockStyle.Fill;
this.Controls.Add(DataGridView1);

string connStr = @"Data Source=DC;Initial Catalog=TEST;Integrated Security=True";
SqlConnection conn = new SqlConnection(connStr);
try { conn.Open(); }
catch (SqlException se)
{
MessageBox.Show("Ошибка подключения:{0}"+se.Message);
return;
}
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = new SqlCommand("select * from Samples", conn);
DataSet dataSet1 = new DataSet();
da.Fill(dataSet1,"Tae");
DataGridView1.DataMember = "Tae";
DataGridView1.DataSource = dataSet1;
conn.Close();
...
Рейтинг: 0 / 0
23.03.2016, 18:31
    #39199008
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
...
Рейтинг: 0 / 0
23.03.2016, 21:10
    #39199111
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanPКуда смотреть ?
На характеристики видеокарты
...
Рейтинг: 0 / 0
23.03.2016, 21:20
    #39199117
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
SELECT * - зло
...
Рейтинг: 0 / 0
23.03.2016, 21:26
    #39199122
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Если этот же запрос запустить в MS Management Studio и поставить там Result->Grid, то такого эффекта "перерисовки" грида нет.
Нажмешь PgDn и вся страница (на весь экран) мгновенно обновится.
Может что-то у грида надо подкручивать ?
...
Рейтинг: 0 / 0
23.03.2016, 21:31
    #39199126
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
SELECT * - зло

Да там 15 колонок, три текстовых.
...
Рейтинг: 0 / 0
23.03.2016, 21:38
    #39199133
Изопропил
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanPЕсли этот же запрос запустить в MS Management Studio и поставить там Result->Grid, то такого эффекта "перерисовки" грида нет.
Нажмешь PgDn и вся страница (на весь экран) мгновенно обновится.
Может что-то у грида надо подкручивать ?
Наивно полагаешь студия этот грид использует?
...
Рейтинг: 0 / 0
23.03.2016, 21:48
    #39199134
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanPЕсли этот же запрос запустить в MS Management Studio http://www.somewheresomehow.ru/fast-in-ssms-slow-in-app-part1/

Это не про грид и не про перерисовку, а просто к тому, может сам запрос медленно выполняется?
...
Рейтинг: 0 / 0
23.03.2016, 21:49
    #39199136
Shocker.Pro
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Хотя... тупой select *
Конечно, лучше указывать конкретные поля.

А запуск случайно не на серверной операционке?
...
Рейтинг: 0 / 0
23.03.2016, 21:50
    #39199137
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
А также этот эффект особенно заметен когда обратно возвращаешься на это окно с гридом.
Прямо по строкам сверху вниз бежит перерисовка гида.....
...
Рейтинг: 0 / 0
23.03.2016, 21:56
    #39199143
Активист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanP,

c# это - только компилятор. его компоненты использовать нельзя.
...
Рейтинг: 0 / 0
23.03.2016, 21:59
    #39199147
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Оставил 4 колонки:
select SampleID,Brief,Name,FileName from Sample
Чуть быстрее, но эффект "перерисовки" тот-же.

Но как объяснить, что при возврате из другого окна в мое приложение с гридом идет такая перерисовка ?
На всякий случай смотрю и Profiler (Duration=50) и диспетчер задач (ничего другого не работает).
...
Рейтинг: 0 / 0
23.03.2016, 22:13
    #39199157
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Поиск в интернете дает следующее:

Стандартный DataGrid/DataGridView для .NET Windows.Forms имеет известные малоприятные "фичи":
медленная с морганием перерисовка содержимого таблицы (на invalidate или refresh, при смещении окна или изменении размера)
и т.д.


А чем тогда народ пользуется в основном ?
...
Рейтинг: 0 / 0
23.03.2016, 22:25
    #39199159
Активист
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanP,

DevEx попробуй.
...
Рейтинг: 0 / 0
23.03.2016, 23:36
    #39199178
Cat2
Модератор форума
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Shocker.ProЭто не про грид и не про перерисовку, а просто к тому, может сам запрос медленно выполняется?
Грид не будет перерисовыватся, пока все данные не придут.



AlexanP,

Двойную буферизацию ставили?
...
Рейтинг: 0 / 0
24.03.2016, 05:28
    #39199216
Barkan
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanP,

Вот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet.

PS. Сколько лет пользую DataGridView, а таких тормозов с ним не встречал.
...
Рейтинг: 0 / 0
24.03.2016, 10:21
    #39199333
Алексей К
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
ИзопропилSELECT * - злоНе всегда.
...
Рейтинг: 0 / 0
24.03.2016, 10:34
    #39199344
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
ИзопропилSELECT * - зло
Какие будут аргументы?
...
Рейтинг: 0 / 0
24.03.2016, 10:37
    #39199347
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanP,
Запусти профайлер в студии и посмотри кто тормозит.
...
Рейтинг: 0 / 0
24.03.2016, 11:18
    #39199382
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Двойную буферизацию ставили?

А что это и где ее поставить ?

Я на всякий случай еще раз взял тестовую базу AdventureWorks.... Сделал источник на ней.
Там есть таблица dimCurrency (105 строк, 3 колонки).
Эту таблицу я сейчас просто "кинул" на форму.
На панели образовались ...DataSet, ...BindingSource, ...TableAdapter, ...AdapterManager, ...BindingNavigator.
Все, больше ничего не делаю. Запускаю приложение. Все работает, но перерисовка также медленная.
Причем я еще раз говорю, что если я закрываю окно моего приложения любым другим, а потом возвращаюсь, то идет неспешная перерисовка. Особенно заметно когда на весь экран этот грид.
...
Рейтинг: 0 / 0
24.03.2016, 11:24
    #39199390
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
BarkanВот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet.


Если можно разъясните, что это значит....
...
Рейтинг: 0 / 0
24.03.2016, 11:37
    #39199409
Артем G
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanPBarkanВот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet.


Если можно разъясните, что это значит....

Это значит заполни ДатаТабл, и укажи его источником для ДатаГрида.

DataTable = Данные из базы
DataGridView.DataSource = DataTable
...
Рейтинг: 0 / 0
24.03.2016, 12:25
    #39199524
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
Артем GЭто значит заполни ДатаТабл, и укажи его источником для ДатаГрида.

DataTable = Данные из базы
DataGridView.DataSource = DataTable


Если это имеется ввиду, то сделал так. Результат тот же.


String connectionString =
"Integrated Security=SSPI;Persist Security Info=False;" +
"Initial Catalog=AdventureWorksDW2008R2;Data Source=DC";

SqlDataAdapter dataAdapter = new SqlDataAdapter("select CurrencyKey, CurrencyAlternateKey, CurrencyName from dimCurrency", connectionString);
DataTable table = new DataTable();
dataAdapter.Fill(table);
dataGridView1.DataSource = table;
...
Рейтинг: 0 / 0
24.03.2016, 16:38
    #39199924
AlexanP
Гость
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
DevEx попробуй


Да, в DevEx судя по примерам гриды нормально отображаются...
...
Рейтинг: 0 / 0
24.03.2016, 16:46
    #39199932
ЕвгенийВ
Участник
Скрыть профиль Поместить в игнор-лист Сообщения автора в теме
Почему так медленно отображаются данные в DataGridView ?
AlexanP DevEx попробуй


Да, в DevEx судя по примерам гриды нормально отображаются...
Не стреляй себе в ногу.
...
Рейтинг: 0 / 0
Форумы / WinForms, .Net Framework [игнор отключен] [закрыт для гостей] / Почему так медленно отображаются данные в DataGridView ? / 25 сообщений из 34, страница 1 из 2
Целевая тема:
Создать новую тему:
Автор:
Найденые пользователи ...
Разблокировать пользователей ...
Читали форум (0):
Пользователи онлайн (0):
x
x
Закрыть


Просмотр
0 / 0
Close
Debug Console [Select Text]