Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)

Модерирует : ShIvADeSt

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

   

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Postscriptum, дело в том, что девовский грид тянет на себя все 180 тыщ записей, а стандартный грид столько, сколько поместиться на экране. Можно девовский грид перевести в GridMode := True. Но нужно почитать документацию по использованию GridMode. Есть свои нюансы.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 09:41 14-04-2009
Postscriptum



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Понял. Я поэкпериментировал и получилось, что в GridMode открывается мгновенно,  но функционал немного ограничен - например, фильтрация по заголовкам. Т.е. либо быстро, но с обрезанным функционалом, либо медленно, но полноценно.

Всего записей: 464 | Зарегистр. 31-01-2004 | Отправлено: 12:43 14-04-2009 | Исправлено: Postscriptum, 12:44 14-04-2009
dolphinbobo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет
 
Прошу прощения за тo что буду писать по английски
 
I'm using Devexpress  x.40 with BDS 2006
I'm trying to read the value of a field from the underlying  
RecordSet of a crossCell of a DbPivotGrid in order to fill
many string measure cells
 
I've tried to use createDrillDownDataSource as seen
in some examples provided with the library, but this
method is VERY slow
 
I think that I'm missing something or this solution
is REALLY a wrong one
 
Could you please tell me the fastest way to achieve this goal ?
 
Thank you in advance.

Всего записей: 26 | Зарегистр. 28-05-2006 | Отправлено: 15:10 14-04-2009
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Postscriptum
 
 

Цитата:
с девовским гридом - 10-15 секунд. Можно этот процесс как-то ускорить?

 
есть еще ньюанс - у меня NOD32 очень замедлял работу, пришлось даже включить в проект возможность переключаться в GridMode, как и советовал X11, а потом, когда обнаружил сей ньюанс и отключил сканер реального времени проблема практически исчезла. Так что, проверь ...

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 15:47 14-04-2009
Postscriptum



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
shulum

Цитата:
есть еще ньюанс - у меня NOD32 очень замедлял работу, пришлось даже включить в проект возможность переключаться в GridMode, как и советовал X11, а потом, когда обнаружил сей ньюанс и отключил сканер реального времени проблема практически исчезла. Так что, проверь ...

Дома стоит NOD32 4 версия. Абсолютно никаких тормозов. Открывает одинаково медленно что с включенным, что с выключенным Nod32. На работе Avira Premium Security Suite - открывает еще медленнее, но там и комп намного дохлее. Кстати - хорошая идея - сделаю возможность переключаться между режимами.

Всего записей: 464 | Зарегистр. 31-01-2004 | Отправлено: 16:57 14-04-2009
FunCode



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору

Цитата:
Понял. Я поэкпериментировал и получилось, что в GridMode открывается мгновенно,  но функционал немного ограничен - например, фильтрация по заголовкам. Т.е. либо быстро, но с обрезанным функционалом, либо медленно, но полноценно.

 
Так оно и есть - грид не может использовать фильтрацию, группировку, сортировку и инкрементальный поиск, т.к. "не знает" всего набора данных - подгрузил только то что отображается по его высоте.

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 18:29 14-04-2009
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Так оно и есть - грид не может использовать фильтрацию, группировку, сортировку и инкрементальный поиск, т.к. "не знает" всего набора данных - подгрузил только то что отображается по его высоте.
 

Могла-бы спасти серверная фильтрация - но это прерогатива компонент, заточенных под конкретную СУБД

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 09:03 15-04-2009
infomSB



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Могла-бы спасти серверная фильтрация - но это прерогатива компонент, заточенных под конкретную СУБД

В случае работы с MS SQL Server эти компоненты могли бы такое обеспечить ?
SDAC, SQLQuery ?

Всего записей: 75 | Зарегистр. 17-03-2006 | Отправлено: 10:19 15-04-2009
Andrey128

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хочу спросить Ziltoid, автора DLL со скинами, а где вы брали картинки к скинам?

Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 12:12 15-04-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Postscriptum

Цитата:
...с девовским гридом - 10-15 секунд. Можно этот процесс как-то ускорить?

 
попробуйте перед открытием датасета с 180000 записями выполнить <YourGridDBTableView>.BeginUpdate
а после <YourGridDBTableView>.EndUpdate, т.е это может выглядеть так
 

Код:
...
<YourGridDBTableView>.BeginUpdate;
<YourDbfDataSet>.Open; (Active := true)
<YourGridDBTableView>.EndUpdate;
...

 

Цитата:
Какие параметры грида сильнее всего влияют на быстодействие?

прорисовка, CustomDraw, Styles, CellMerging, Skins.
Как раз внутри "скобок" BeginUpdate и EndUpdate блокируется запуск циклов прорисовки, в данном случае - в момент загрузки данных.
 
Aleksandr_N

Цитата:
Я не против подождать.

О Вашем вопросе не забы. Как и у всех - very busy. Но, этот бизи обещает вскоре быть не таким уж вери, так что поборим проблемку.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 02:19 16-04-2009
Andrey128

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Воспользовался идеей Ziltoid переложить скины в DLL и получил уменьшение:
1. экзешника на 5 мег
2. занимаемой памяти на 19 мег
 
Чтобы не париться при добавлении новых скинов в новых версиях DevExpress, состряпал батничек, который создает эту DLL.
_http://rapidshare.com/files/221946801/make_skins_dll.rar.html
 
Перед запуском, загляните внутрь и подправьте пути в секции "Ключевые переменные".
Если у вас нет Bitmaps, то они в DLL не попадут. Я взял их из dxSkins.dll (см.шапку)

Всего записей: 408 | Зарегистр. 16-01-2003 | Отправлено: 12:15 16-04-2009
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
В случае работы с MS SQL Server эти компоненты могли бы такое обеспечить ?
SDAC, SQLQuery ?
 

Дело не в компонентах доступа к собственно к БД, а в их взаимодействии с cxGrid. Т.е., DevExpress должен учитывать то, какие компоненты для доступа к SQL серверу используются (а этого насколько я понимаю не происходит), либо пользователь должен самостоятельно своевременно обеспечивать DataController необходимыми данными для фильтров, группировок, поиска и т.п., что тоже не тривиально.
Проще и правильнее всего не отдавать пользователю сразу столько записей - все равно они ему ВСЕ СРАЗУ не нужны.

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 12:59 16-04-2009
Chukotka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть ли в DevX аналог DbComboBox от EhLib: чтобы в свойствах можно было указать Items и Values. Items - текстовые значение для отображения, Values - числовые для подстановки в поле БД.
Я вижу только либо чистая ComboBox, либо LookupCombo - но для нее надо указывать в ListOptions DataSource, что неудобно.

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 14:06 16-04-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору

Цитата:
Проще и правильнее всего не отдавать пользователю сразу столько записей - все равно они ему ВСЕ СРАЗУ не нужны.

Ага, не всегда так все просто, был проект, закзачик говорит-показывать все,  а там записей может быть от 1  до десятков тысяч.
Поэтому пришлось использовать не DBTview а из ДатаСет жагружать в Tview и показывать, тоже не быстро, зато  сортировка поиск..... все работает
 
Добавлено:

Цитата:
Есть ли в DevX аналог DbComboBox от EhLib: чтобы в свойствах можно было указать Items и Values. Items - текстовые значение для отображения, Values - числовые для подстановки в поле БД.  
Я вижу только либо чистая ComboBox, либо LookupCombo - но для нее надо указывать в ListOptions DataSource, что неудобно.

 
так ComboBox,  ItemsIndex (номер в массие) - от 0 до Items-1 заполненых тобой значений, которые будут отображаться  
 
 
Добавлено:
Chukotka

Цитата:
но для нее надо указывать в ListOptions DataSource, что неудобно.

 
что мешает использовать MemTable, два поля, отображение, значение

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 14:11 16-04-2009
Chukotka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sldaac

Цитата:
так ComboBox,  ItemsIndex (номер в массие) - от 0 до Items-1 заполненых тобой значений, которые будут отображаться

Отображать надо текст, в поле класть - число.

Цитата:
что мешает использовать MemTable, два поля, отображение, значени

Это понятно. Но для отображения списка из 10 значений мутить отдельную MemTable, заносить туда данные - как-то некомильфо. Хочется более облегченного решения.

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 14:24 16-04-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chukotka

Цитата:
Это понятно. Но для отображения списка из 10 значений мутить отдельную MemTable, заносить туда данные - как-то некомильфо. Хочется более облегченного решения.

 
самое то,  лучше не придумаеш
два поля в одном текс, в другом число
 

Цитата:
Отображать надо текст, в поле класть - число.

 
Itmes =
Вася
Петя
Ваня
 
dataset.fiel.....= combobox.itemsindex  (получиш 1 если выбрал Петя)

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 15:23 16-04-2009 | Исправлено: sldaac, 15:24 16-04-2009
Delta10



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть проблема - думаю, что беда именно в ДевЭкспресах.
Есть WinXP. Есть программа, написанная на Delphi 2006. При переключении раскладки клавиатуры программа часто просто подвисает.  
Воспроизводится далеко не на всех машинах (из 30-40 на 2-х).  

Всего записей: 4 | Зарегистр. 25-10-2005 | Отправлено: 16:53 16-04-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Chukotka
на самом деле можно использовать cxImageComboBox только без картинок... я много раз использовал именно его для решения таких же задач

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 09:35 17-04-2009
wbsg

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sldaac
 

Цитата:
 
Itmes =  
Вася  
Петя  
Ваня  
 
dataset.fiel.....= combobox.itemsindex  (получиш 1 если выбрал Петя)
 

 
А кто сказал, что код Пети в таблице - 1?

Всего записей: 65 | Зарегистр. 08-06-2005 | Отправлено: 10:10 17-04-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
wbsg

Цитата:
А кто сказал, что код Пети в таблице - 1?

а что есть сомнения, проверь., а вдруг я ошибаюсь.  

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 10:17 17-04-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru