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

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

Автор: FunCode
Дата сообщения: 10.03.2011 12:09
mdid

Цитата:
пасиб нашел...а свойство DropDownListStyle

Старею - память подводит
Автор: priks
Дата сообщения: 10.03.2011 15:44
Возникла проблема с TdxDBTreeView.
Каким образом заполнить DBTreeNode.Data при открытии связанного датасета?
OnAddNewItem не проходит - то он реагирует только на добавляемые впоследствии элементы.
Автор: AlexCoRu
Дата сообщения: 10.03.2011 17:44
Кто-нить скрещивал 55 дев и бары 7.54? С прорисовкой контролов на dxRibbonBackstageView проблемы. Как бы поправить, а то бета компонент 55 пока нет.
Автор: V1s1ter
Дата сообщения: 10.03.2011 18:14
Уважаемый All
Компонент Printing System версии 3 чудненько печатал, но вот вышел Printing System версии 4 и стал печатать только на ему приглянувшихся притерах. Я долго копался, но так и не нашел причину .
В связи с чем хотелось бы промониторить ситуацию. Пожалуйста распечатайте чего нибуть через Printing System версии 4 и напишите модель принтера и печатает или не печатает.
Вот как сложилось у меня:

Печатает на:
HP PhotoSmart 7760
Gestetner DSc 424 (растровый режим)
куче виртуальных принтеров

Не печатает на:
Samsung ML2000
HP Degignjet 110
HP Degignjet 500+ ps
Gestetner DSc 424 (векторный режим)
Автор: golkanavt
Дата сообщения: 11.03.2011 08:15
Всем привет. Перевел свой проект из старичка-D6 под D2010 под новые Девы. Столкнулся с проблемой отрисовки TreeList в обработчиках onCustomDrawBandHeaderCell, onCustomDrawDataCell. В частности, в первом обработчике у параметра TcxTreeListHeaderCellViewInfo введенного при переходе версий 4->5 пропало свойство Band, старый код перестал работать. Если кто сталкивался с этим, как удалось выкрутиться? Какими свойствами теперь лучше пользоваться?
Автор: fortezza
Дата сообщения: 11.03.2011 08:49
здравствуйте,
использую cxGrid. один view главный другой дочерний
обновлять Grid мне нужно своим способом


Код:
for dsInd := 0 to Form.ComponentCount - 1 do
if (Form.Components[dsInd] is TcxGrid) then
with (Form.Components[dsInd] as TcxGrid) do
if CanFocusEx then
for i := 0 to ViewCount - 1 do
if (Views[i] is TcxGridDBTableView) then
with TcxGridDBTableView(Views[i]) do
if DataController.DataSource <> nil then if DataController.DataSource.DataSet.Active then
DataController.DataSource.DataSet.Refresh;
Автор: marser
Дата сообщения: 11.03.2011 09:30
fortezza

Цитата:
использую cxGrid. один view главный другой дочерний
обновлять Grid мне нужно своим способом

Что значит обновлять Grid? Из приведенного кода видно, что Вы хотите обновить данные в DataSet. Так у Вас всего два DataSet (один в главной, другой в дочерней View), и указатели на них известны. Зачем цикл?

Цитата:
А ведь такого быть не должно...

Почему? TcxGridDBTableView тоже потомок TComponent.
Автор: fortezza
Дата сообщения: 11.03.2011 10:35
>Вы хотите обновить данные в DataSet
это и подразумевалось

> Так у Вас всего два DataSet (один в главной, другой в дочерней View), и указатели на них известны
нет их больше, но с дочерним view только один грид
Если интиресует почему именно такой способ, то мне нужно обновлять датасеты только тех гридов которые видны на форме (есть и другие на др вкладках)

>Почему? TcxGridDBTableView тоже потомок TComponent.
и? о чем это говорит? том что цикл может выходить за свои пределы?
Автор: vladman
Дата сообщения: 11.03.2011 11:11
fortezza

Цитата:
использую cxGrid. один view главный другой дочерний

Если не углубляться в ваш способ обновления TableView, а определить причину появления ваших ошибок, то нужно понимать принципы на которых строится master-detail в cxGrid. А один из принципов таков, что для каждого DetailView создается Clone на основании Pattern'а. При рефреше происходит уничтожение и последующее пересоздание этих самих Clon'ов. Подробнее смотрите в документации - ExpressQuantumGrid6 -> Data Representation.
Автор: marser
Дата сообщения: 11.03.2011 11:13
fortezza

Цитата:
>Почему? TcxGridDBTableView тоже потомок TComponent.
и? о чем это говорит? том что цикл может выходить за свои пределы?

Не цикл выходит за свои пределы, а уменьшается количество реально существующих компонентов в процессе выполнения цикла (ИМХО. При DataController.DataSource.DataSet.Refresh главного View уничтожается дочерний View). Дочерний View, который вы создаете в DesigneTime, всего-навсего шаблон на основании которого, по мере необходимости создаются (и уничтожаются) дочернии View - cxGridDBTableView.Clones[Index].
Автор: fortezza
Дата сообщения: 11.03.2011 11:15
vladman, marser

ок. спасибо.
Автор: Hydrolisk
Дата сообщения: 11.03.2011 15:44

Цитата:
У "ненужных" колонок установите свойство Options.Filtering в False.


Спасибо!

Автор: Umbrall
Дата сообщения: 11.03.2011 16:51
помогите пожалуйста)
нужно оживить старый проект реализованный на C++Buider 5, который использует:

Код: CXDATAC5
CXEDITORSC5
CXEXPORTC5
CXEXTEDITORSC5
CXGRIDC5
CXLIBRARYVCLC5
CXPAGECONTROLC5
DXCOMNC5
DXDBEDC5
DXEDTRC5
DXINSC5
DXTHEMEC5

$(BCB)\Source\DevExpress\CX Library\Lib
$(BCB)\Source\DevExpress\Common\Lib
$(BCB)\Source\DevExpress\ExpressDataController\Lib
$(BCB)\Source\DevExpress\ExpressEditors Library 5\Lib
$(BCB)\Source\DevExpress\ExpressPageControl 2\Lib
$(BCB)\Source\DevExpress\ExpressQuantumGrid 5\Lib
$(BCB)\Source\DevExpress\Inspector\Lib
$(BCB)\Source\DevExpress\XP Theme Manager\Lib
Автор: fortezza
Дата сообщения: 14.03.2011 14:06
какие свойства cxGrid позволят оставить запись в фокусе (например по полю ID) после задания фильтра в ДатаСете (не в cxTableView)?

У меня после задания фильтра фокус переходит к первой записи, хотя индикатор горит напротив двух записей (той кот была выделена и первая)
Автор: golkanavt
Дата сообщения: 14.03.2011 14:30
Так что, кто нибудь сталкивался с новшествами 5-й версии Девок, конкретно у TreeList при отрисовке дерева и его заголовков? Справка по TcxTreeListHeaderCellViewInfo врет, приведен пример со свойством Band, которого в реале больше нет у этого класса. Фактически TcxTreeListHeaderCellViewInfo теперь отвечает за всю область заголовков, и бэнды (bands) и заголовки колонок (Column Headers). Как их теперь отличать друг от друга, какие свойства копать?
Автор: vladman
Дата сообщения: 15.03.2011 00:20
fortezza

Цитата:
какие свойства cxGrid позволят оставить запись в фокусе (например по полю ID) после задания фильтра в ДатаСете (не в cxTableView)?

YourDataset.Locate по сохраненному до применения фильтра значению ключевого поля.
и, возможно, YourTableView.DataController.SyncSelectionFocusedRecord.

Добавлено:
golkanavt

Цитата:
Справка по TcxTreeListHeaderCellViewInfo врет

Да, есть такое, но обещают в скором времени поправить, т.е. в следующем (5.46) релизе.

Цитата:
Как их теперь отличать друг от друга, какие свойства копать?

Так как свойство AViewInfo.Item теперь protected, то для решения вашей проблемы можно попробовать, например, следующее:

Код: type
TcxTreeListHeaderCellViewInfoAccess = class (TcxTreeListHeaderCellViewInfo);

procedure <Your>Form.<Your>cxTreeListCustomDrawBandHeaderCell(Sender: TcxCustomTreeList; ACanvas: TcxCanvas; AViewInfo:
TcxTreeListHeaderCellViewInfo; var ADone: Boolean);
begin
if TcxTreeListHeaderCellViewInfoAccess(AViewInfo).Item is TcxTreeListBand then
if TcxTreeListBand(TcxTreeListHeaderCellViewInfoAccess(AViewInfo).Item).Caption.Text = 'Band1' then
ACanvas.Brush.Color := clRed
else ACanvas.Brush.Color := clBlue;
end;
Автор: golkanavt
Дата сообщения: 15.03.2011 08:28
vladman
Спасибо, попробую.
Автор: JohnSilver182
Дата сообщения: 15.03.2011 08:50
хнык хнык хнык

При выборе cxDBTreeList1 все смещается http://screenshot.su/show.php?img=f5453fd0bdcd9b7db0a0489f8adf8207.jpg

Автор: Cryogen2003
Дата сообщения: 15.03.2011 11:26
Подскажите, девки 54 и 55 какую версию IDE поддерживают максимально?
Просто сейчас стоит BDS 2006, но есть мысля поставить дельфи с unicode, например Delphi XE. Нормально ли девки там будут работать?
Автор: f3ka
Дата сообщения: 15.03.2011 12:40
Cryogen2003
55 точно поддерживают ХЕ, 54 возможно были бетой для ХЕ
Автор: Cryogen2003
Дата сообщения: 15.03.2011 12:43
f3ka
Понял, значит XE буду ставить. Осталось только потом каким-то макаром перевести проекты под unicode
Автор: JohnSilver182
Дата сообщения: 15.03.2011 13:40
меня никто нелюбит
Автор: brookson
Дата сообщения: 15.03.2011 15:04
Всем доброго дня.

Есть идея с раскраской строк грида в событии GetContentStyle.
При открытии формы используем определённое условие в обработчике.
Но после вызова некой процедуры нужно раскрасить строки по другому условию.

Всё сделал, единственное - как перечитать весь грид, чтоб стал виден другой цвет? Пробовал viewdata.refresh, grid.refresh, repaint - не работает.
Новый цвет видно только когда полистать записи.
Автор: f3ka
Дата сообщения: 15.03.2011 16:07
brookson
Invalidate наверно надо поискать...
Автор: brookson
Дата сообщения: 15.03.2011 16:17

Цитата:
Invalidate наверно надо поискать...

Не понял, это где?
Автор: f3ka
Дата сообщения: 15.03.2011 16:36
brookson
ну у какого то объекта входящего в состав cxGrida... нет возможности искать самому
invalidate выполняет перерисовку видимой части объекта...
Автор: brookson
Дата сообщения: 15.03.2011 16:55
Точно!
tvStock.Invalidate(true);
Спасибо
Автор: Sphinx333
Дата сообщения: 16.03.2011 13:01
TdxBarManager - Хочу задать в меню свой шрифт. Шрифт выставляется, а цвет нет - черный и все тут тебе! Можно как-то это решить? Без перехватов всяких событий?

Та же самая проблема и в заголовках грида.
Автор: shoma13
Дата сообщения: 16.03.2011 13:14
Добрый день!
Экспортирую данные из cxGrid (версия 6.29) в Excel.
Он представляет двухуровневый грид (master-detail). Если использовать стандартный метод ExportGridToExcel, то в xls-файле будут данные только из Master-таблицы.
Для того чтобы пробежаться по строкам master-таблицы можно использовать цикл

Код:
with cxGridMasterDBTableView.DataController do
begin
n := FilteredRecordCount - 1;
VarRange:=VarArrayCreate([1,n+1,1,2], varVariant);
for i := 0 to n do
begin
VarRange[i+1,1]:=Values[FilteredRecordIndex[i],1];
VarRange[i+1,2]:=Values[FilteredRecordIndex[i],2];
...
end;
Автор: Sphinx333
Дата сообщения: 16.03.2011 13:17

Цитата:
TdxBarManager - Хочу задать в меню свой шрифт. Шрифт выставляется, а цвет нет

Нашел - стилями.... мда...

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


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