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

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

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

Цитата:
Тогда сделал через датасет. Но очень хочется реализовать через cxGrid

Думаю проще будет через DataSet. Как вариант, можно сохранить значения ключевого/вых полей в StringList, а затем создать и выполнить update запросы (желательно в одной транзакции) для изменения данных в этих записях (что быстрее), либо локейтиться по DataSet согласно сохраненным значениям и затем используя методы DataSet'а Edit, Post осуществлять необходимые изменения (что, конечно, медленнее).

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:20 29-12-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А в CxGriD  можно какое нибудь фичу использовать  нестандартно ,  что бы выводить рядом с данными ,  над данными примечание (типа : Данные редактирует Иванов ) .  Что бы компоненты не плодить ,  лишние LAbel не кидать .

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 13:37 29-12-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
JohnSilver182
мне кажется, что такое можно делать когда есть реальное понимание откуда будут данные о редактировании браться, если на уровне SQL запроса, тогда можно просто обрабатывать OnShowHint или OnGetStyle, и там красить или выводить подсказку, но данные должны быть заранее получены... если же возможности получать такие данные невозможно получить при помощи SQL запроса, тогда надо пытаться поиметь (придумать) технологию получения информации о событиях с сервера СУБД...

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

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

Цитата:
Вспомнил, я уже сталкивался с такой проблемой
редактирование записей в cxGrid

Вдогонку - Example: Changing selected records in bound mode
ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TExample_Changing_selected_records_in_bound_mode.htm
 
 
Добавлено:
asi81

Цитата:
 На другом приложении сделал все тоже самое - там скин натянулся на все контролы кроме меню и попап меню(все что наTdxBarManager). Причем в дизайнере все натянуто!!  

Буквально сегодня уже это обсуждали. Вернитесь в начало предыдущей страницы.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:38 29-12-2009
X11



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

Цитата:
Вдогонку - Example: Changing selected records in bound mode
ms-help://borland.bds5/ExpressDataController.BDS5/ExpressDataController/IDH_TExample_Changing_selected_records_in_bound_mode.htm  

Вот не могу вразумить, почему программисты не могут или не хотят реализовать нормальную поддержку изменений выделенных записей , такая мощА и тут на тебе... изобретай велосипед.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 17:04 29-12-2009
crazypiggy

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

Код:
 
procedure TForm1.cxDBTreeList1DragOver(Sender, Source: TObject; X,  
  Y: Integer; State: TDragState; var Accept: Boolean);  
begin  
  Accept := Sender = Source;  
end;
 

Этот код вроде не работает. Как же все таки работате этот Drag&Drop в cxDBTreeList?
Может кто нибудь объяснит мне популярно на примере с FIBDataset? Пересмотрел все примеры. Вроде понятно, но там BDE, а у меня FIBPlus и чтото не работает. ПОжалуйста, дайте пример Туплю!!!

Всего записей: 57 | Зарегистр. 02-10-2008 | Отправлено: 17:06 29-12-2009 | Исправлено: crazypiggy, 17:07 29-12-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Все что написано в начале пред. страницы мне не помогает, есля я правильно понимаю. Я все настроил как надо  - и Style - bmsUseLookAndFeel и Native Style == false и даже SkinName  указал.  И на дизайн странице все пучком отображается - на Тулбарах все натянуто - но запускаю прогу - и облом, везде скины натянуты, на тулбарах нет.

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 18:11 29-12-2009
vladman

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

Цитата:
Этот код вроде не работает. Как же все таки работате этот Drag&Drop в cxDBTreeList?  

Здесь, Implementing Drag-And-Drop Functionality -  
ms-help://borland.bds5/ExpressQuantumTreeList5.BDS5/ExpressQuantumTreeList5/IDH_tbh_Implementing_the_Drag_And_Drop_Functionality.htm
подробно все описано.
 
Если вкратце, то нужно сделать следующее
1. DragMode := dmAutomatic.
2. Создать пустой обработчик OnDragOver. (ну или так, как вам советовал volser)
3. Установить OptionsData.AutoCalcKeyValue = True; для того чтобы обеспечить автоматическое изменение значения ключевого поля.
 
Реализация Drag&Drop не зависит от способа доступа к данным, т.е. нет разницы BDE или Fibы.
 
Добавлено:
asi81
давайте пример, с исходинками - так быстрее будет разобраться что у вас не получается

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 18:34 29-12-2009 | Исправлено: vladman, 18:53 29-12-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
А примера с исходниками просто нет . Могу описать что сделал -  
1 - положил на основную форму dxSkinController, выбрал в нем скины поставил UseSkins = true,  После этого у меня все контролы, кроме dxBarManager,  покрасились в скин.  Запустил - все так, как в дизайн-тайм.  
2. Далее  установил в dxBarManager    Style - bmsUseLookAndFeel   Native Style == false и SkinName = "XMas2008Blue(или както так)" В дизайне все тул-бары покрасились как нужно. Запустил - тулбары и попап меню не закрашиваются.
 
3. Пытался использовать dxSkinController->Refresh(), не помогло.
 

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 18:57 29-12-2009 | Исправлено: asi81, 18:59 29-12-2009
vladman

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

Цитата:
Запустил - тулбары и попап меню не закрашиваются.

Значит в коде (при старте приложения, создании/отображении формы) вы меняете какое(какие)-то свойства BarManager'а установленные в DesignTime. Либо вычитываете сохраненные в ini файле или реестре, которые, опять же, меняют ваши DesignTime настройки. Проверьте.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 19:17 29-12-2009 | Исправлено: vladman, 19:18 29-12-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ini файл  точно не грузил - проверял. Еще раз проверю, если где то меняю настройки BarManage .  В приложении есть несклько форм - там могут быть свои LookAndFeelController. Это может влиять?

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 22:17 29-12-2009
crazypiggy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Сделал все как Вы сказали. Есть эффект того что что-то переносится, но когда я отпускаю запись, он остается на том же месте. Начинает работать лишь тогда когда я включаю в FIBDATASET.Autocommit=true. Но мне не хочется чтобы это происходил автоматически.  И почему то когда я становлюсь в самое окончание cxDBTreelist  и нажимаю кнопку вниз или делаю FIBDataset.Append появляется запись внизу, но не могу ничего туда занести, ругается что поле не может быть null. Оно у меня действительно not null. Но как же мне занести туда данные?Чтото я никак не могу уразуметь этот cxDBTreelist.  
Помогите!!!

Всего записей: 57 | Зарегистр. 02-10-2008 | Отправлено: 10:34 30-12-2009
vladman

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

Цитата:
Начинает работать лишь тогда когда я включаю в FIBDATASET.Autocommit=true. Но мне не хочется чтобы это происходил автоматически.

А как хочется?

Цитата:
Но как же мне занести туда данные?

Посмотреть, есть ли в вашем pFibDataSet Update опрератор, разрешено ли вашему pFibDataSet изменять данные (см. свойство AllowedApdateKinds), установлено ли свойство у вашего cxDBTreelist OptionSelection.CellSelect в True, установлено ли свойство у вашего cxDBTreelist OptionData.Editing в True, установлено ли свойство у вашей cxDBTreelistColumn (которую вы хотите отредактировать) Options.Editing в True и Options.focusing в True.
Напишите, что конкретно вы хотите реализовать, а лучше, набросайте пример, который у вас не работает так ка вы задумали, и уже на этом примере попробую помочь решить вашу проблемы.
 
Добавлено:
asi81

Цитата:
В приложении есть несклько форм - там могут быть свои LookAndFeelController. Это может влиять?

Наверное может, но почем мне знать - что и как у вас реализовано можно только догадываться без кода. А в чем причина использования "своих" LookAndFeelController? Вполне достаточно одного на все приложение. Да и при использовании dxSkinController'а нет необходимости использовать LookAndFeelController. dxSkinController это наследник от LookAndFeelController у которого расширен функционал касательно скинов.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 11:02 30-12-2009
Chukotka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Никто толком ничего не сказал, поэтому обращаюсь к vladman:
 
имеем ячейку TcxVerticalGrid c EditProperties = TcxCustomMemoProperties.
Как при этом достучаться до TcxMemo, в которой происходит редактирование данных ячейки (нужно чтобы установить курсор Memo в определенную позицию?)

Всего записей: 428 | Зарегистр. 01-11-2006 | Отправлено: 11:21 30-12-2009 | Исправлено: Chukotka, 11:23 30-12-2009
GOA78

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Использую cxGrid.
при использование OnFocusedRecordChanged я наблюдаю что при перемещении с одной записи на другую он используется несколько раз. Как правильно его использовать (OnFocusedRecordChanged)???
Спасибо.

Всего записей: 18 | Зарегистр. 28-01-2006 | Отправлено: 11:25 30-12-2009
crazypiggy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как мне отправить файл с примерами?
 
Добавлено:
vladman
Вроде нашел как загрузить.  

http://www.sharemania.ru/0276697

Всего записей: 57 | Зарегистр. 02-10-2008 | Отправлено: 11:32 30-12-2009 | Исправлено: crazypiggy, 11:41 30-12-2009
X11



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

Цитата:
имеем ячейку TcxVerticalGrid c EditProperties = TcxCustomMemoProperties.
Как при этом достучаться до TcxMemo,

 
А если через InplaceEditor
что-то типа:
var
  e:TcxCustomEdit;
begin
  e := cxVerticalGrid.InplaceEditor;  // vgJobDetsStatus.InplaceEditor
  newValue := e.EditValue;


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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:40 30-12-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
GOA78
не понятно как это у вас получилось добиться... на новом (тестовом) проекте у меня OnFocusedRecordChanged вызывается 1 раз на запись...  
возможно есть какие то обработчики которые вызывают OnFocusedRecordChanged ?
crazypiggy
надо выложить на какой нибудь файлообменник

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Щас нет возможности проверить работоспособность, вот
 
procedure TfmSearch.Button1Click(Sender: TObject);
begin
  TcxMemo(cxVerticalGrid1.InplaceEditor).<свойство>
end;


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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:43 30-12-2009
crazypiggy

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman  
 
http://www.sharemania.ru/0276697

Всего записей: 57 | Зарегистр. 02-10-2008 | Отправлено: 11:47 30-12-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