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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Felias Fogg
 
Да Вы, батенька, мечтатель
Нет, такого добра не водится

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 19:18 17-03-2009
Felias Fogg

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

Цитата:
Подобное есть в экспертах gexperts и cnwizard. Но не все, что тебе нужно. Кроме того, раньше в само devexpress был такой эксперт.

Не помнишь, как такой эксперт в devexpress  назывался или где его взять?

Всего записей: 28 | Зарегистр. 11-11-2008 | Отправлено: 19:40 17-03-2009
vladman

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

Цитата:
Перехожу на DevExpress, нужно преобразовать дельфийские компоненты - TDbEdit, TDbGrid в аналоги от DevExpress - TcxDBEdit, например.

К сожалению, невеселые новости. Подробнее -  
 [Question Details: Easy migration from standard VCL?]

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 22:08 17-03-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите где собака порылась.
Есть грид (TcxGrid+TcxGridLevel +TcxGridDBTableView) с тремя уровнями, на каждом уровне своя вьюшка. Все связано, настроено (DataSet.....) Запускаю, слева (+)  на который кликаеш, открываются нижний уровеь. Все-бы хорошо, никак не могу настроить что-бы при развернутой какой нибудь записи (1 уровень, 2 уровень...), если кликаю на самом верхнем уровне на следующей записи (на +), что-бы развернутая свернулась, а кликнутая развернулась. Сейчас можно покликать на + и развернуть все, мне надо что-ба оставалось на самом верхнем уровне только одна развернутая запись.  
ps/ Блин клин поймал, делал в одном проекте давно, знаю что должно быть.
Спсб всем.

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

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

Цитата:
Подскажите где собака порылась.  

Если правильно понял направление рытья, то в обработчике Datacontroller.onDetailExpanding -  

Код:
<YourForm>.<YourView>DataControllerDetailExpanding(ADataController: TcxCustomDataController;
  ARecordIndex: Integer; var AAllow: Boolean);
begin
  ADataController.CollapseDetails;
end;

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 00:39 18-03-2009
sldaac



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

Цитата:
 Если правильно понял направление рытья, то в обработчике Datacontroller.onDetailExpanding -  

 
Самое то, что-то меня зациклило что настраивать надо в свойствах, не затрагивая обработчик.
Спсб.

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 09:50 18-03-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Felias Fogg
какой нибудь хороший Блокнот (типа Notepad++) умеет менять строки по файлам...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 12:12 18-03-2009
Lostding1979

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребят, есть вопросик:
 
Есть в приложении dxSkinController, dxRibbon и обычные совковые TButton.  
 
Пока SupportNonClientDraw в dxRibbon в false кнопки совковые выглядят красиво, но есть стандартный заголовок у приложения, ставим SupportNonClientDraw в true, кнопки становятся совковыми, но нет заголовка
 
Вопрос: как и кнопки(ну и соответсвенно и другие стандартные компоненты) чтоб были 'стильными' и загловка не было?

Всего записей: 2 | Зарегистр. 24-02-2009 | Отправлено: 14:44 18-03-2009
vladman

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

Цитата:
Вопрос: как и кнопки...чтоб были 'стильными' и загловка не было?

TButton будут стильными в обеих случаях. Скорее всего что-то не то в конкретном случае. Посему - нужен пример проблемного приложения.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 16:01 18-03-2009
Lostding1979

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

Цитата:
 Посему - нужен пример проблемного приложения.

 
Хм, сделал пример примитивный, CGD 2007, DevExpress 41.
 
http://rapidshare.com/files/210710510/TButtonVsDxRibbon.rar 3.7Kb

Всего записей: 2 | Зарегистр. 24-02-2009 | Отправлено: 17:28 18-03-2009 | Исправлено: Lostding1979, 17:29 18-03-2009
vladman

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

Цитата:
сделал пример примитивный

 

Цитата:
vladman
TButton будут стильными в обеих случаях

Виноват, ввел в заблуждение. TButton давно не пользуюсь и не обратил внимание на то, что Vista придает некоторые эффекты к этим кнопкам, посему посчитал это эффектами SkinController.  
 
Да, действительно, в случае SupportNonClientDrawing=True TButton не скинятся.  
Причина в следующем.  
При SupportNonClientDrawing=True прорисовка формы осуществляется непосредственно TdxCustomRibbonForm и, соответственно, SkinController для этой формы и для всех контролов для которых она (форма) является Parent не используется. А TdxCustomRibbonForm не "умеет" скинить TButton.
При SupportNonClientDrawing=False прорисовка формы и всех ее контролов осуществляется посредством SkinController, который "знает" как скинить TButton.
Так что для решения вопроса можно просто заменить все TButton на TcxButton - они одинаково прорисовываются при любых значениях SupportNonClientDrawing. И, более того, имеют намного больше возможностей для кастомизации.
 
 
Добавлено:
Вдогонку - более точные комментарии по данному вопросу от первоисточника

Цитата:
This is the designed peculiarity of the ExpressSkins Library. Standard controls like TButton and TPanel can be skinned only if their parent form is skinned by the Form SkinController. The Form SkinController provides the painters necessary for these controls.
When a TdxRibbonForm is used, it paints its contents itself, according to the MS Office 2007 UI requirements. The Form SkinController isn't initialized for this form at all, so standard buttons and panels aren't skinned.

Make it possible to use Skins along with a RibbonForm with SupportNonClientDrawing = True

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 00:49 19-03-2009
justonetime

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток.
Каким образом можно получить список значений фильтра для столбца cxGrid? Т.е. как узнать какие из TcxDataFilterValueList.Items[i] отмечены галочкой?

Всего записей: 1 | Зарегистр. 10-11-2006 | Отправлено: 10:50 19-03-2009
vladman

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

Цитата:
Т.е. как узнать какие из TcxDataFilterValueList.Items[i] отмечены галочкой?


Код:
procedure <YourForm>.<YourButton>Click(Sender: TObject);
var
  i: Integer;
  vValueList: TcxGridFilterValueList;
  vActiveValueIndexes: TcxGridIndexes;
  s: string;
begin
  s := '';
  vValueList := TcxGridFilterValueList.Create(<YourTableView>.DataController.Filter);
  vValueList.Load(<YourColumn>);
  <YourColumn>.DataBinding.GetFilterActiveValueIndexes(vValueList, vActiveValueIndexes);
  for i := 0 to Length(vActiveValueIndexes) - 1 do
    s := s + vValueList.Items[vActiveValueIndexes[i]].DisplayText + '; ';
  ShowMessage(s);
  FreeAndNil(vValueList);
end;

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:34 19-03-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго всем времени суток.
Помогите, а то запутался уже.  
Есть cxDBPivotGrid. Каждой ячейке с данными соответствует только одна запись датасета.
Я хочу, чтоб при выделении ячейки, и нажатии кнопки скажем, можно было удалить эту запись из датасета. Но никак не найду, как узнать значение ключа. Явно в ячейке его нет.
Сразу говорю, что как в примере http://www.devexpress.com/Support/Center/p/CQ55578.aspx?searchtext=pivotgrid+CrossCell+field+value&tid=dee0f498-9b49-42c9-bee9-5530e0ea67f6&pid=-1  у меня не получилось

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 22:19 19-03-2009
vladman

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

Цитата:
Помогите, а то запутался уже

Нюансы реализация зависят от версии ExpressPivotGrid (v.1 или v.2).
Но главная идея состоит в том что нужно использовать, так называемые drill-down данные для анализируемой ячейки. В  ExpressPivotGrid v.2 был улучшен (упрощен) механизм получения drill-down с помощью компоненты TcxPivotGridDrillDownDataSet.
 
Предполагая, что используется ExpressPivotGrid v.2,  решение вопроса может выглядеть так:
1. В cxPivotGrid добавить ключевое поле (REC_ID, например) и, если необходимо, сделать его невидимым.
2. Установить свойство Caption этого поля тоже в 'REC_ID'. Важно, так как по этому значению будем позже идентифицировать это поле.
3. Поместить на форму или DataMod компонент cxPivotGridDrillDownDataSet и, посредством его свойства PivotGrid, связать с соответствующим PivotGrid.
4. В обработчике удаления конкретной ячейки из БД указать:

Код:

var
  vRecId: integer;
begin
  <Your>PivotGridDrillDownDataSet.CreateData;
  vRecId := <Your>PivotGridDrillDownDataSet.FieldByName('REC_ID').AsInteger;
  //DELETE FROM MYTABLE WHERE REC_ID = vRecId  
end;

Но следует помнить, что если для получения данных конкретной ячейки использовалось более чем одно значение исходных данных то  vRecId будет принимать по умолчанию последнее значение из этого набора данных. Если выполнить <Your>PivotGridDrillDownDataSet.First - то, соответственно, первое.
 
*Если используется ExpressPivotGrid v.1 могу сделать пример и для этой версии.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 15:43 20-03-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Работает.  Версия как раз вторая. Так всё просто. По сравнению с этим решением до сих пор я пытался почесать правое ухо левой ногой....  
Странно, что в доке тема с cxPivotGridDrillDownDataSet освещена достаточно  туманно.
Кстати, еще пришлось поставить свойство SynchronizeData:=True.
Спасибо и вообще - снимаю шляпу!

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 16:39 20-03-2009
vladman

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

Цитата:
Кстати, еще пришлось поставить свойство SynchronizeData:=True.

А почему пришлось? Есть же явный вызов  <Your>PivotGridDrillDownDataSet.CreateData, а при SynchronizeData:=True. как раз и происходит автоматический вызов этого метода при изменении выбранной ячейки/ячеек, перестроении структуры или саммари PivotGrid.

Цитата:
тема с cxPivotGridDrillDownDataSet освещена достаточно  туманно.  

Как по мне, не более туманнее чем все остальные
ms-help://borland.bds5/ExpressPivotGrid2.BDS5/ExpressPivotGrid2/IDH_Class_TcxPivotGridDrillDownDataSet.htm

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:53 20-03-2009
Felias Fogg

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Пытаюсь поменять Borland-скую TDBEdit на TcxDBTextEdit - загвоздка в том что DataSource надо поменять на Databinding.Datasource.
В GExperts можно задать XML файл с заменами и импортировать его. вот что я написал

Код:
 
    <MapItem>
      <SourceClassName>TDBEdit</SourceClassName>
      <DestClassName>TcxDBTextEdit</DestClassName>
 
      <SourcePropName>Datasource</SourcePropName>
      <DestPropName>DataBinding.DataSource</DestPropName>
 
      <SourcePropName>DataField</SourcePropName>
      <DestPropName>DataBinding.DataField</DestPropName>
 
      </SourcePropName>
      <DestPropName>StyleHot.LookAndFeel.Kind</DestPropName>
      <UseConstValue>true</UseConstValue>
      <ConstValue>lfOffice11</ConstValue>
    </MapItem>
 

 
Создал новую группу замен DevExpress, Нажимаю "Import", выбираю группу в окне Mapping Definition List - там только первый элемент из моего XML файла, и тот пустой - без свойств которые надо заменять.
 
Как это все сделать правильно?

Всего записей: 28 | Зарегистр. 11-11-2008 | Отправлено: 20:48 20-03-2009
vladman

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

Цитата:
Как это все сделать правильно?

Ну это лучше спросить не в этой ветке.
Может помогут здесь или здесь.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 23:27 20-03-2009
i7potoc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Мне дали исходники проекта.
В нем используется компанент TcxGrid,самое интересное в пас файлах все объявления есть,а вот самого компанента  в дизайнере формы нету,соответсвенно компилятор на это ругается.Разработчик сказал что у него все работает замечательно.
Может кто сталкивался с такой проблемой,или теперь придется самому все дописывать?

Всего записей: 1 | Зарегистр. 21-03-2009 | Отправлено: 13:17 21-03-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