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

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

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

ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 122

   

ShIvADeSt



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

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




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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
VAbramyak

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

Цитата:
Проблема еще в том что почему то нету BeginUpdate/EndUpdate которые бы могли это исправить

Где именно нету?

Всего записей: 191 | Зарегистр. 16-09-2005 | Отправлено: 16:05 01-11-2008
f3ka

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

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 16:15 01-11-2008
VAbramyak

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Все, разобрался. У items есть  BeginUpdate/EndUpdate. Теперь все нормально.
cxCheckListBox1.Items.BeginUpdate;
for I := 0 to 1000 do
begin
  cxCheckListBox1.AddItem(IntToStr(i));
  end;
cxCheckListBox1.Items.EndUpdate;
Отрисовывает без передергиваний.

Всего записей: 191 | Зарегистр. 16-09-2005 | Отправлено: 16:21 01-11-2008
mDmitriy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Приветствую, All...  
 
Подскажите, плиз, как приложению (в смысле, компонентам DevExpress) использовать цветовые схемы Windows?  
Знаю, что можно присвоить всем видимым компонентам соответсвующее свойство Style: TcxStyle, но как в этот Style загрузить соответствующие цвета?  
Можно, конечно, руками настроить, но это тоскливо...  
Хотелось бы, чтобы по умолчанию загружались цвета из установленной в Windows пользовательской схемы, но можно было бы так же и выбрать цветовую гамму из списка.  
Delphi 2007, DevExpress x.38  
 
Очень буду благодарен на ссылки с примером...  
 
PS. Прошу прощения, если это где-то уже обсуждалось...

Всего записей: 3 | Зарегистр. 03-11-2008 | Отправлено: 20:08 03-11-2008
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mDmitriy
Каким именно компонентам и какие именно цвета? Они и так соответствуют цветовой схеме Windows.

Всего записей: 478 | Зарегистр. 22-09-2002 | Отправлено: 11:32 04-11-2008
Bill_PHO

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Не подскажет ли кто, можно ли и, если можно, то как в cxDBTreeList раскрашивать отдельные ячейки дерева в зависимости от их значений используя стили?

Всего записей: 287 | Зарегистр. 15-08-2003 | Отправлено: 16:04 04-11-2008
ZalivkoDenis



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Люди! Помогите ламе. Совсем умом повренулся... Пользую девы.38 с фибами. Как организовать просмотр в квантумгриде в режиме MasterDetail, причём Detail - это query c параметром? Чего только не делал с DataControlller'ом - посинел уже... Где-то клинит... Может подскажет кто решение?
Спасибо!

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 16:45 04-11-2008
mDmitriy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
to xokc
Имеются ввиду разные Grid'ы и Edit'ы, у которых можно определить гамму цветом через свойство TcStyle, с помощью  TcxEditStyleController или типа того...
По умолчанию цвета всех компонентов соответствуют загруженной схеме Windows, но на ноутбуке под Windows Vista выглядит поганенько...
Поэтому хотелось бы иметь возможность загружать в приложение любую цветовую схему Windows из доступных...
Т.е., фактически, определить цвета для TcxEditStyleController из схемы Windows, а на него ссылаться из всех прочих компонентов.

Всего записей: 3 | Зарегистр. 03-11-2008 | Отправлено: 19:47 04-11-2008
Ziltoid

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

Цитата:
Не подскажет ли кто, можно ли и, если можно, то как в cxDBTreeList раскрашивать отдельные ячейки дерева в зависимости от их значений используя стили?

 
Ну как... Обыкновенно. Стили можно завести заранее в StyleRepository, а можно и создать на лету, если надо. В cxDBTreeList повеситься на обработчик OnGetContentStyle - и вперед
 
 
Добавлено:
ZalivkoDenis

Цитата:
Как организовать просмотр в квантумгриде в режиме MasterDetail, причём Detail - это query c параметром? Чего только не делал с DataControlller'ом - посинел уже... Где-то клинит...

 
А параметр в Query поди равен ID из Master'а? Если да, то так, насколько я помню, не покатит. Подчиненную выборку в случае с КвантумГридом надо выбирать всю целиком. КвантумГрид сам разберется, что там и как. Только у DataController'а надо правильно прописать MasterKeyFieldNames и DetailKeyFieldNames.
 
 
 
Добавлено:
Пару страниц назад я пиарил DLL со скинами из библиотеки dxSkins. Наконец-то дошли руки до выкладки на файлообменник.
Скачать DLL можно здесь: http://rapidshare.com/files/160760576/SkinDLL.rar.html
 
Архив включает в себя:
 - DLL со скинами (помимо скинов есть битмапы 16х16 для ImageCombobox'ов, битмапы 32х32 для RibbonGallery, константы цветов полосатости и фонов для каждого скина)
 - модулек SkinHandle.pas с процедурками загрузки и навешивания скина на приложение.
 - тестовый пример.
 
Кто может, прибейте, плз, архив сверху, чтоб не затерялся.

Всего записей: 24 | Зарегистр. 30-05-2008 | Отправлено: 04:03 05-11-2008
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ziltoid
Спасибо за скины
 
А теперь призыв о помощи.
собственно код в главной программе

Код:
 
var
  Comp,Comp2 : TComponent;
  RibbonTabX: TdxRibbonTab;
begin
  Comp := Application.MainForm.FindComponent('Ribbon');
  if assigned(Comp) then  begin
    RibbonTabX := TdxRibbon(Comp).Tabs.Add;
    RibbonTabX.Ribbon.BeginUpdate;
    with RibbonTabX do begin
      Name := 'RibbonTab'+IntToStr(TdxRibbon(Comp).TabCount);
      Tag := TdxRibbon(Comp).TabCount;
      Active := False;
      Caption := 'Таблица';
      Comp2 := Application.MainForm.FindComponent('BarManager');
        if assigned(Comp2) then  begin
          with RibbonTabX.Groups.Add do begin
 
//===>      ToolBar := TdxBarManager(Comp2).BarByComponentName('BarManagerDocumentBar');
            ToolBar.Visible := true;
          end;
        end;
    end;
  end;
end;
 

работает на все 100%. Он же помещенный в dll падает с 'invslid class typecast' в выделенной строке.  
 
Библа для работы с плагинами (dll) использовалась и JVCl Plugin и TmxPlugInLoader ( они примерно одинаковы)
Т.е. из dll я могу создать закладку в Ribbon`e. Могу создать пустую Группу. Но не могу подключить в нее ни один Toolbar.
 
В чем может быть проблема?

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 09:06 05-11-2008 | Исправлено: samusev, 09:15 05-11-2008
ZalivkoDenis



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

Цитата:
Подчиненную выборку в случае с КвантумГридом надо выбирать всю целиком.

Обычно так и делаю. Но, в данном случае слишком большая нагрузка на сервер и, что немаловажно, на слабенькую сеть, чтобы весь массив выбирать. В хелпе написано, что пожно деталь организоввывать именно по параметру, но ни примеров, ни хотя бы какого-нибудь маленького описания нет.  
Я всё-таки склоняюсь к мысли, что как-то можно всё-таки по параметру, может быть не только "мышкой двигая"... Вот только вопрос КАК?
Да, и ещё, TQuery и TpFIBQuery - немного разные вещи... Так, TpFIBQuery невозможно прицепить к TDataSource. По-этому мастер-деталь по-любы использует те же TpFIBDataSet. Но, даже так не прокатывает. Там есть ещё эвент OnDetailFirst. Такое ощущение, что "пляску" нужно устраивать с этого места...
Проект горит, потому ВРЕМЕННО сделал выборку всего массива кортежей, НО надеюсь, что, может быть кто-нибудь подскажет ПРАВИЛЬНОЕ решение.
Спасибо!

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 09:27 05-11-2008 | Исправлено: ZalivkoDenis, 09:28 05-11-2008
Ziltoid

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
 
А Toolbar какого типа?

Всего записей: 24 | Зарегистр. 30-05-2008 | Отправлено: 09:33 05-11-2008
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ziltoid
 
ToolBar : TdxBar;
 
естественно
 
Добавлено:
Ziltoid
 
Вопрос снят... "Учите матчасть." как сказал кто-то из великих..
 
Рей Лишнер. стр. 21 "не использоватьссылку на объект через границу dll... DLL всегда считает что класс А библы и класс А приложения разные..."
 
Придется использовать bpl  - они решают все означенные проблемы...

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 09:35 05-11-2008 | Исправлено: samusev, 10:15 05-11-2008
Ziltoid

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
 
Вообще фиг знает. Так то все правильно. А явно обращаться не пробовал?
В смысле
 
RibbonGroup := RibbonTabX.Groups.Add;
RibbonGroup.ToolBar := ...
 
Добавлено:
samusev
 
Ну вот видишь Я ж тебе еще в письме писал, что указатели (тем более на экземпляры классов) в ДЛЛ передавать - опасное дело.
 
Добавлено:
ZalivkoDenis

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

 
Наверное там все-таки два разных грида имелись ввиду, а не два уровня.

Всего записей: 24 | Зарегистр. 30-05-2008 | Отправлено: 09:57 05-11-2008
yurik13y

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста:
 
1. cxGrid, на названиях колонок при щелчке правой кнопкой мыши выпадает менюшка, как её отключить/включить?
 
2. cxGrid, как программно подобрать ширину колонок, хотя бы вызвать такой пункт с менюшки (см. 1)
 
???

Всего записей: 4 | Зарегистр. 07-10-2008 | Отправлено: 11:07 05-11-2008
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
yurik13y
1. скорее всего добавлен на форму TcxGridPopupMenu, поэтому возможно поможет отключить свойство UseBuiltInPopupMenu...
2. у View который в cxGride есть метод ApplyBestFit (View.ApplyBestFit). Если не указывать параметры то у всех колонок будет подобрана ширина колонок...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 12:00 05-11-2008
ZalivkoDenis



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

Цитата:
Наверное там все-таки два разных грида имелись ввиду, а не два уровня.

Наверно всё-таки нет...
Выдержка из хелпа
Вопрос остаётся...

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 13:08 05-11-2008
yurik13y

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
f3ka
спасибо!

Всего записей: 4 | Зарегистр. 07-10-2008 | Отправлено: 13:10 05-11-2008
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ziltoid
 
Потратил день на переход в bpl. Изучение интерфейсов и проч.
 
Несмотры на все рассказки авторов и хелпов доступ к главному приложению (Application) закрыт напрочь. Т.е. если из DLL я мог хоть Таб в Риббон добавить, то из BPL прямое обращение к Application падает с AV rtl100. Если через локальную для bpl копию HostApplication, то при обращении к типизованному TComponent в выделенной строке

Код:
 
var  
  Comp,Comp2 : TComponent;  
  RibbonTabX: TdxRibbonTab;  
begin  
  Comp := Application.MainForm.FindComponent('Ribbon');  
  if assigned(Comp) then  begin  
 ===>   RibbonTabX := TdxRibbon(Comp).Tabs.Add;  
    RibbonTabX.Ribbon.BeginUpdate;  
 

 
падает с AV в cxLibrary100.
 
Устал я биться. видимо не суждено задаче Плагинами обрАсти
 

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 16:25 05-11-2008
ZalivkoDenis



Full Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
А у меня вот отклинило, наконец  
Чтобы использовать Master-Detail, а в детали использовать запрос с параметром, который берётся из мастера, нужно попросту перевести вьюшку в режим GridMode (птицу напротив проперти соответствующей поставить), а отношение мастер-деталь организовать из-вне грида посредством связки MasterDataset-DataSource-DetailDataset...  
Как-то так Правда, за счёт использования режима GridMode на сам грид накладываются некоторые ограничения типа локальной фильтрации и всё-такое, но зато получаем короткие ответы на запросы - актуально для слабых сетей.
Так что, если кого также заклинит по этому поводу - милости прошу в ПМ за подробностями
Спасибо всем участвующим!

Всего записей: 537 | Зарегистр. 06-10-2005 | Отправлено: 17:10 05-11-2008
   

Страницы: 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 122

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru