Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress (часть 3)

Автор: jonikDk
Дата сообщения: 11.04.2009 14:25
Meister Floh
Можешь поробовать VirtualTreview, для поддержки DB данных есть в инете пример для FIBPlus бесплатный. Можешь глянуть и переделать под свой датасет. Я использую.
Автор: shulum
Дата сообщения: 11.04.2009 18:00
Подскажите, пожалуйста, как при добавлении в realtime панелей к dxBarManeger при установке
DockingStyle := dsTop
сделать так что бы новая панель вставала правее ранее созданной?
А не левее как получается

Автор: diser
Дата сообщения: 12.04.2009 11:44
что-то никак не могу найти - как в cxShellTreeView или ShellListView получить имя выделенного файла ?
например в TLMDShellList это ShLst.SelectedItem.ShortFileName...
Автор: dimm78
Дата сообщения: 12.04.2009 16:29

Цитата:
shulum

Перед добавлением LockUpdate := True в свойствах BarManager. Кроме того у каждой панели есть свойство Index, которое в такой ситуации задается вручную...
Автор: afiget
Дата сообщения: 13.04.2009 11:22
diser
Если запрещен мультиселект, то ShellListView1.InnerListView.ItemFocused.Caption.
Текущий каталог: ShellListView1.Path
Автор: shulum
Дата сообщения: 13.04.2009 11:33
dimm78



Индекс панели на ее отображение в зоне прилипания никаким образом влияния не оказывает.
Автор: kirmalex
Дата сообщения: 13.04.2009 12:32
Нашел книгу по граф. интерфейсу в Делфи. Если кому надо <a href="http://letitbit.net/download/5a573f637667/-----------GUI.djvu.html">gui delphi</a>
Автор: sldaac
Дата сообщения: 13.04.2009 14:20

Цитата:
Нашел книгу по граф. интерфейсу в Делфи. Если кому надо <a href="http://letitbit.net/download/5a573f637667/-----------GUI.djvu.html">gui delphi</a>

Книга 2001г. Если хотел доброе дело сделать, выложи на приличный обменик, а не на блядей смотреть, и на всякую х.....
За такое, мое ихмо, банить надо
Автор: diser
Дата сообщения: 13.04.2009 16:59
afiget
спасибо!

Цитата:
то ShellListView1.InnerListView.ItemFocused.Caption.



да уж, фиг догадаешься и в хелпах ни чего путнего не найдешь .....
Автор: Postscriptum
Дата сообщения: 14.04.2009 00:23
Подскажите, плиз - если использовать грид не девовский - база данных (dbf) даже на больших файлах (180000 записей) открывается практически мгновенно, с девовским гридом - 10-15 секунд. Можно этот процесс как-то ускорить? Какие параметры грида сильнее всего влияют на быстодействие?
Автор: X11
Дата сообщения: 14.04.2009 08:41
Postscriptum, дело в том, что девовский грид тянет на себя все 180 тыщ записей, а стандартный грид столько, сколько поместиться на экране. Можно девовский грид перевести в GridMode := True. Но нужно почитать документацию по использованию GridMode. Есть свои нюансы.
Автор: Postscriptum
Дата сообщения: 14.04.2009 11:43
X11
Понял. Я поэкпериментировал и получилось, что в GridMode открывается мгновенно, но функционал немного ограничен - например, фильтрация по заголовкам. Т.е. либо быстро, но с обрезанным функционалом, либо медленно, но полноценно.
Автор: dolphinbobo
Дата сообщения: 14.04.2009 14:10
Привет

Прошу прощения за т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.
Автор: shulum
Дата сообщения: 14.04.2009 14:47
Postscriptum



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


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

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

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

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


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

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

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

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

В случае работы с MS SQL Server эти компоненты могли бы такое обеспечить ?
SDAC, SQLQuery ?
Автор: Andrey128
Дата сообщения: 15.04.2009 11:12
Хочу спросить Ziltoid, автора DLL со скинами, а где вы брали картинки к скинам?
Автор: vladman
Дата сообщения: 16.04.2009 01:19
Postscriptum

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


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


Код: ...
<YourGridDBTableView>.BeginUpdate;
<YourDbfDataSet>.Open; (Active := true)
<YourGridDBTableView>.EndUpdate;
...
Автор: Andrey128
Дата сообщения: 16.04.2009 11:15
Воспользовался идеей Ziltoid переложить скины в DLL и получил уменьшение:
1. экзешника на 5 мег
2. занимаемой памяти на 19 мег

Чтобы не париться при добавлении новых скинов в новых версиях DevExpress, состряпал батничек, который создает эту DLL.
_http://rapidshare.com/files/221946801/make_skins_dll.rar.html

Перед запуском, загляните внутрь и подправьте пути в секции "Ключевые переменные".
Если у вас нет Bitmaps, то они в DLL не попадут. Я взял их из dxSkins.dll (см.шапку)
Автор: xokc
Дата сообщения: 16.04.2009 11:59

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

Дело не в компонентах доступа к собственно к БД, а в их взаимодействии с cxGrid. Т.е., DevExpress должен учитывать то, какие компоненты для доступа к SQL серверу используются (а этого насколько я понимаю не происходит), либо пользователь должен самостоятельно своевременно обеспечивать DataController необходимыми данными для фильтров, группировок, поиска и т.п., что тоже не тривиально.
Проще и правильнее всего не отдавать пользователю сразу столько записей - все равно они ему ВСЕ СРАЗУ не нужны.
Автор: Chukotka
Дата сообщения: 16.04.2009 13:06
Есть ли в DevX аналог DbComboBox от EhLib: чтобы в свойствах можно было указать Items и Values. Items - текстовые значение для отображения, Values - числовые для подстановки в поле БД.
Я вижу только либо чистая ComboBox, либо LookupCombo - но для нее надо указывать в ListOptions DataSource, что неудобно.
Автор: sldaac
Дата сообщения: 16.04.2009 13:11

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

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

Добавлено:

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


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


Добавлено:
Chukotka

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


что мешает использовать MemTable, два поля, отображение, значение
Автор: Chukotka
Дата сообщения: 16.04.2009 13:24
sldaac

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

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

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

Это понятно. Но для отображения списка из 10 значений мутить отдельную MemTable, заносить туда данные - как-то некомильфо. Хочется более облегченного решения.
Автор: sldaac
Дата сообщения: 16.04.2009 14:23
Chukotka

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


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


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


Itmes =
Вася
Петя
Ваня

dataset.fiel.....= combobox.itemsindex (получиш 1 если выбрал Петя)
Автор: Delta10
Дата сообщения: 16.04.2009 15:53
Есть проблема - думаю, что беда именно в ДевЭкспресах.
Есть WinXP. Есть программа, написанная на Delphi 2006. При переключении раскладки клавиатуры программа часто просто подвисает.
Воспроизводится далеко не на всех машинах (из 30-40 на 2-х).
Автор: f3ka
Дата сообщения: 17.04.2009 08:35
Chukotka
на самом деле можно использовать cxImageComboBox только без картинок... я много раз использовал именно его для решения таких же задач
Автор: wbsg
Дата сообщения: 17.04.2009 09:10
sldaac


Цитата:

Itmes =
Вася
Петя
Ваня

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


А кто сказал, что код Пети в таблице - 1?
Автор: sldaac
Дата сообщения: 17.04.2009 09:17
wbsg

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

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

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

Предыдущая тема: Delphi: tcp клиент в потоке


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.