|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Вроде обычное подключение и простая выборка, в ней около 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(); ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 18:11 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 18:31 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanPКуда смотреть ? На характеристики видеокарты ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:10 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
SELECT * - зло ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:20 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Если этот же запрос запустить в MS Management Studio и поставить там Result->Grid, то такого эффекта "перерисовки" грида нет. Нажмешь PgDn и вся страница (на весь экран) мгновенно обновится. Может что-то у грида надо подкручивать ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:26 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
SELECT * - зло Да там 15 колонок, три текстовых. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:31 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanPЕсли этот же запрос запустить в MS Management Studio и поставить там Result->Grid, то такого эффекта "перерисовки" грида нет. Нажмешь PgDn и вся страница (на весь экран) мгновенно обновится. Может что-то у грида надо подкручивать ? Наивно полагаешь студия этот грид использует? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:38 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanPЕсли этот же запрос запустить в MS Management Studio http://www.somewheresomehow.ru/fast-in-ssms-slow-in-app-part1/ Это не про грид и не про перерисовку, а просто к тому, может сам запрос медленно выполняется? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:48 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Хотя... тупой select * Конечно, лучше указывать конкретные поля. А запуск случайно не на серверной операционке? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:49 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
А также этот эффект особенно заметен когда обратно возвращаешься на это окно с гридом. Прямо по строкам сверху вниз бежит перерисовка гида..... ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:50 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanP, c# это - только компилятор. его компоненты использовать нельзя. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:56 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Оставил 4 колонки: select SampleID,Brief,Name,FileName from Sample Чуть быстрее, но эффект "перерисовки" тот-же. Но как объяснить, что при возврате из другого окна в мое приложение с гридом идет такая перерисовка ? На всякий случай смотрю и Profiler (Duration=50) и диспетчер задач (ничего другого не работает). ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 21:59 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Поиск в интернете дает следующее: Стандартный DataGrid/DataGridView для .NET Windows.Forms имеет известные малоприятные "фичи": медленная с морганием перерисовка содержимого таблицы (на invalidate или refresh, при смещении окна или изменении размера) и т.д. А чем тогда народ пользуется в основном ? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 22:13 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanP, DevEx попробуй. ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 22:25 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Shocker.ProЭто не про грид и не про перерисовку, а просто к тому, может сам запрос медленно выполняется? Грид не будет перерисовыватся, пока все данные не придут. AlexanP, Двойную буферизацию ставили? ... |
|||
:
Нравится:
Не нравится:
|
|||
23.03.2016, 23:36 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanP, Вот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet. PS. Сколько лет пользую DataGridView, а таких тормозов с ним не встречал. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 05:28 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
ИзопропилSELECT * - злоНе всегда. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 10:21 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
ИзопропилSELECT * - зло Какие будут аргументы? ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 10:34 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanP, Запусти профайлер в студии и посмотри кто тормозит. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 10:37 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Двойную буферизацию ставили? А что это и где ее поставить ? Я на всякий случай еще раз взял тестовую базу AdventureWorks.... Сделал источник на ней. Там есть таблица dimCurrency (105 строк, 3 колонки). Эту таблицу я сейчас просто "кинул" на форму. На панели образовались ...DataSet, ...BindingSource, ...TableAdapter, ...AdapterManager, ...BindingNavigator. Все, больше ничего не делаю. Запускаю приложение. Все работает, но перерисовка также медленная. Причем я еще раз говорю, что если я закрываю окно моего приложения любым другим, а потом возвращаюсь, то идет неспешная перерисовка. Особенно заметно когда на весь экран этот грид. ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 11:18 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
BarkanВот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet. Если можно разъясните, что это значит.... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 11:24 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
AlexanPBarkanВот чисто ради эксперимента, попробуй в DataGridView кинуть "чистый" DataTable, без DataSet. Если можно разъясните, что это значит.... Это значит заполни ДатаТабл, и укажи его источником для ДатаГрида. DataTable = Данные из базы DataGridView.DataSource = DataTable ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 11:37 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
Артем 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; ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 12:25 |
|
Почему так медленно отображаются данные в DataGridView ?
|
|||
---|---|---|---|
#18+
DevEx попробуй Да, в DevEx судя по примерам гриды нормально отображаются... ... |
|||
:
Нравится:
Не нравится:
|
|||
24.03.2016, 16:38 |
|
|
start [/forum/topic.php?fid=20&msg=39199932&tid=1398826]: |
0ms |
get settings: |
11ms |
get forum list: |
14ms |
check forum access: |
4ms |
check topic access: |
4ms |
track hit: |
195ms |
get topic data: |
12ms |
get forum data: |
3ms |
get page messages: |
57ms |
get tp. blocked users: |
2ms |
others: | 14ms |
total: | 316ms |
0 / 0 |