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

» Использование DevExpress 2

Автор: zver
Дата сообщения: 30.09.2007 20:20
Наверное можно в исходниках подправить на свой формат.
Только подправлять нужно в двух местах - при сохранении настроек и при их восстановлении.

Добавлено:
Файл cxPropertiesStore.pas

Добавлено:
procedure StoreToIniFile(const AStorageName: string; const AReCreate: Boolean);

Добавлено:
VikLabel а какая вообще задача стоит?
Автор: VikLabel
Дата сообщения: 30.09.2007 21:00

Цитата:
VikLabel а какая вообще задача стоит?

Задача это сильно, просто хотел использовать cxPropertiesStore для хранения свойств формы , компонентов, а также в этом же ini сохранять свои данные - имя соединения, компа, ... т.е. всё в одном файле ini. Самое плохое так это что он переписывает файл ini полностью, включая и внутренности, а может и вообще его пересоздаёт.
Использовать другие компоненты неохота (PropStorageEh, IniPropStorageManEh), писать руками лень. cxPropertiesStore удобней (Group by properties).
Может у cxPropertiesStore есть какие-то дополнительные настройки. Править исходники не выход!

Добавлено:
Так не затирает моё:
cxPropertiesStore1.StoreTo(False);

Осталось сделать нормальную форму записи в ini, типа так:

Код:
[UserIDEdit]
Text="0"
[UserNameEdit]
Text=""
Автор: Widoms
Дата сообщения: 01.10.2007 15:30
Проблема с CxGrid:
Таблица Paradox, несколько полей с типом MONEY.
В cxGrid в Columns ставиться ValueType=Float меняю на Currency, ставиться опять Float.
в TTable в свойствах поля currency = true.
как вылечить ?
Автор: UPKTG2
Дата сообщения: 02.10.2007 05:12
Нет ли русских ресурсов для 6 Девок? Если есть, скиньте на sl8er@mail.ru.
Интересуют все компоненты.
Спасибо
Автор: xitsmex
Дата сообщения: 02.10.2007 09:09

Цитата:
Задача это сильно, просто хотел использовать cxPropertiesStore для хранения свойств формы , компонентов, а также в этом же ini сохранять свои данные - имя соединения, компа, ... т.е. всё в одном файле ini. Самое плохое так это что он переписывает файл ini полностью, включая и внутренности, а может и вообще его пересоздаёт.
Использовать другие компоненты неохота (PropStorageEh, IniPropStorageManEh), писать руками лень. cxPropertiesStore удобней (Group by properties).
Может у cxPropertiesStore есть какие-то дополнительные настройки. Править исходники не выход!


Конечно есть. Добавляем необходимые данные в published свойства формы - вот они и сохранятся.
Автор: Dennica
Дата сообщения: 02.10.2007 09:37
VikLabel

Цитата:
Осталось сделать нормальную форму записи в ini, типа так:

Код:
[UserIDEdit]
Text="0"
[UserNameEdit]
Text=""


Мне интересно, а для чего вообще нужно менять формат записи в ini. Ты же сам всеравно не будеш обрабатывать эти парметры. Да и ничего помоему не мешает завести два ini файла для приложения, первый для пропертисторе второй для своих нужт, ну там глобальные настройки. Так помоему даже удобней будет, легко сбросить в случае чего настройки для форм, просто удалив файлик.
Автор: Dennica
Дата сообщения: 03.10.2007 14:09
Если кто ставил последний релиз девок со скинами, поделитесь впечатлением по использованию последних.
Автор: DGM001
Дата сообщения: 03.10.2007 14:50
Dennica

Малость они какие-то недоделанные на мой взгляд
Автор: Dronton2
Дата сообщения: 03.10.2007 15:02
Dennica
Вроде бы, работоспособные. Добавили несколько новых скинов. На сайтк девэкспресс есть хорошая демонстрашка для них: ExpressSkinsWebDemo.zip

2 All
В этой демонстрашке есть интересная фича: Одним нажатием кнопки форма переводится из стиля Ribbon в стиль Toolbars, сохраняя все тулбары, при этом, стиль их может быть любым: стандартным, плоским и т.д.
У меня вопрос: кто-нить знает, как это сделать? Или, может быть, исходники этой демки у кого-нить есть?
Автор: Dennica
Дата сообщения: 03.10.2007 15:39
Dronton2
Посмотрел демки, да ниче так.


Цитата:
В этой демонстрашке есть интересная фича: Одним нажатием кнопки форма переводится из стиля Ribbon в стиль Toolbars, сохраняя все тулбары, при этом, стиль их может быть любым: стандартным, плоским и т.д.
У меня вопрос: кто-нить знает, как это сделать? Или, может быть, исходники этой демки у кого-нить есть?

Поглядел на демку со сканером окошек, класс основного окн там не меняется при переключении. На главном окне навалена куча докконтролов, из них видимо и собирается форма. Основной докконтрол на котором находится пэйджфрэим присутствует во всех случаех а тулбар точно подменяют.

Добавлено:
Заскинивание формы еще малость хромает, при разворачивании/восстановлении постоянно мелькает стандартный синий заголовок, а при нажатой кнопке не использовать риббон для тулбара так вовсе вылазит напостоянку, а как же скин..

Добавлено:
Хотя может просто демка криво написана... =\
Автор: DGM001
Дата сообщения: 03.10.2007 16:23
Dronton2

Посмотри свойства у TdxSkinController-ра - у него можно менять стиль, а переключение между представлением Ribbon/Toolbars есть в демке Ribbon-а
Автор: Dronton2
Дата сообщения: 04.10.2007 09:10
Dennica
Спасибо, подумаю.
Вряд ли это демка криво написана. Скорее, компоненты до конца не отшлифованы.

DGM001
Спасибо за наводку на TdxSkinController. Как я понял, теперь LookandFeelController можно снести?

В демке Ribbon-а есть кнопка, убирающая отрисовку неклиентской области, а переключение между Ribbon/Toolbars я не нашёл.
Автор: Shadi
Дата сообщения: 04.10.2007 09:26
Всем привет!

Подскажите, пожалуйста, как при GridDBDblClick подавлять его если пытаешься просто ColumnHeader раздвинуть двойным кликом!!!
Заранее спасибо...
Автор: Dronton2
Дата сообщения: 04.10.2007 09:56
Shadi
При обработке OnDoubleClick посмотри tableView.ViewInfo.GetHitTest. Он возвращает значение, где произошел даблклик

Добавлено:
Всё-таки глючат скины:
перешёл от LookandFeelController к TdxSkinController. Поставил UseSkins := false. В результате перестали показываться MDIChild окна (т.е. открываются все датасеты на ней, все команды по смене закладок действуют и т.д., но вместо изображения формы - фон главного окна). Тогда я вернул свойство UseSkins. Дочерние формы стали открываться со второго раза (т.е. нужно было открыть, закрыть и снова открыть дочернюю форму). Тогда я перенёс TdxSkinController из DataModule на MDIForm. Стало полегче, но всё равно иногда глючит. Шаманство какое-то.
Мой вывод: в больших проектах пользоваться можно, но с потерей нервных клеток.
Автор: Shadi
Дата сообщения: 04.10.2007 12:11
Dronton2

Спасибо...


Цитата:
Всё-таки глючат скины:


Вроде как релиз!? Или думали как лучше...
Так что лучше пока про скины подождать???
Автор: Dennica
Дата сообщения: 04.10.2007 12:49
Dronton2
Shadi

Сегодня собирался переставлять девок, всеж воздержусь пока от использования скинов, в прошлый раз замучился бороться с последствиями их использования.
Автор: Dronton2
Дата сообщения: 04.10.2007 13:42
Dennica
В прошлый раз я тоже снёс их под корень. В этот раз попробую поработать с ними. Хотя, увеличение exe файла на 4 МБ наводит на размышления.

Перевод из риббон в тулбарз и обратно, решил сделать так:

Код: procedure TMainForm.dxBarLargeButton20Click(Sender: TObject);
var b: TdxBar;
begin
if dxBarLargeButton20.Down then
begin
rtActions.AddToolBar(barman.BarByOldName('Таблицы'));
rtActions.AddToolBar(barman.BarByOldName('Доступ'));
rtActions.AddToolBar(barman.BarByOldName('Действия'));
end
else
begin
b := barman.BarByOldName('Таблицы');
rtActions.Groups.Clear;
b.DockingStyle := dsTop;
end;
end;
Автор: Shadi
Дата сообщения: 04.10.2007 14:44
Dronton2

МЭТР, ты кажется уже сталкивался с проблемой динамического добавления полей и потом чтения ини (нет ты из потока считаешь, короче не важно..) для настойки поведения грида. Я наступил на те же грабли...

Ты писал:


Цитата:
Видно, придётся писать процедуры сохранения и чтения фильтра самостоятельно, привязываясь к названиям полей в датасете...

Процедуры сохранения уже написал, привязываются к названию поля в базе данных.


Кажется у тебя уже есть результат? Можешь поделиться, чтобы не изобретать велосипед!


Заранее спасибо....
Автор: Dronton2
Дата сообщения: 04.10.2007 15:26
Shadi
Отправил в ящик. Лови.
Там две процедуры. Одна читает, другая пишет.
Пояснения:
qTechCardsFILTER1 - BLOB field, в нём хранятся данные для фильтра
qTechCardsFILTER_DESCR и qTechCardsFILTER_COND - текст фильтра, показываемый пользователю и применяемый к датасету.

Будут вопросы или замечания по ошибкам - спрашивай.
Давно это было. Я уж и не помню, полная функциональность фильтра поддерживается, или нет. Кажется, полная.
Автор: Shadi
Дата сообщения: 05.10.2007 12:10
Dronton2

Получил... Большое спасибо. Буду пробовать и чесать тыковку )
Автор: DGM001
Дата сообщения: 05.10.2007 12:56
Кто-нибудь может посоветовать чем можно заменить TPanel при использовании Skin-ов?
Автор: Dronton2
Дата сообщения: 05.10.2007 15:10
DGM001
Смотря с какой целью менять.
Однозначную замену я не знаю, но иногда (если нужна прозрачность) можно использовать TBevel, иногда использовать Anchors
Автор: Bill_PHO
Дата сообщения: 06.10.2007 23:11
Не подскажет ли кто:
1) каким образом по имени колонки таблицы можно добраться до свойств колонки в QuantumTreeList 4? Таких как Visible, Width и пр.
2) каким образом узнать имя колонки таблицы, соответствующей координатам пересечения строки и колонки QuantumTreeList 4, где щелкнули мышкой один или два раза?
Автор: Dennica
Дата сообщения: 07.10.2007 08:50
Bill_PHO

Цитата:
1) каким образом по имени колонки таблицы можно добраться до свойств колонки в QuantumTreeList 4? Таких как Visible, Width и пр.


Код: (cxDBTreeList1.DataController.GetItemByFieldName('name') as TcxDBTreeListColumn).Visible := False;
Автор: Bill_PHO
Дата сообщения: 07.10.2007 12:25
Dennica
Спасибо большое за подсказку. Все работает.
Автор: zver
Дата сообщения: 07.10.2007 20:38
Как в PivotGrid-e получить текущие значения какого либо измерения(текущее значение поля для столбцев, по которым идёт суммирование) по клику на область данных?
Автор: golkanavt
Дата сообщения: 09.10.2007 11:38
Возникла задача - реализовать сортировку одного поля по значению другого. Расшифрую - есть список объектов, пользователи хотят иметь возможность сортировать этот список по значению рейтинга каждого объекта, при этом само значение рейтинга как таковое их не интересует. Как следствие, появится возможность группировки списка по нескольким атрибутам из которых самый первый - название объекта - должно быть упорядочено(отсортировано) по полю рейтинга. Встречалось кому подобное? Пока есть одна идея - на уровне датасета делать конкатенацию поля рейтинга и поля с названием, сортировать а при отображении в гриде делать ручную отрисовку ячеек и выкусывать значение рейтинга. У грида поставить свойство SortByDisplayText = false
Может быть найдется лучшее решение?

Добавлено:
Сам же и отвечаю на свой вопрос после изучения Knowledge Base:

Цитата:
By the way, you may also try another approach: To handle the OnCompare event of the DataController and obtain the necessary values from another column to apply your custom sorting logic. From my point of view, this is a more lightweight solution.
I recommend that you review the "TcxCustomDataController.OnCompare" topic in the ExpressQuantumGrid's documentation. It contains a couple of code samples which should help you understand this approach better.

Взято отсюда
Автор: Dennica
Дата сообщения: 09.10.2007 13:38
Если мне нужна какая то особенная сортировка обычно ввожу дополнительное поле в возращаемый набор данных и заполняю это поле на стороне сервера БД. Хотя возможно я не доконца понял задачу и такой подход тут не применим...
Автор: JKB
Дата сообщения: 13.10.2007 21:43
Не подскажите, как решить следующую задачу:
Есть следующие компоненты:
DataSource 1 *TDataSource;
ADODataSet 1 * TADODataSet;
cxDBVerticalGrid1 *TcxDBVerticalGrid;

Данные в таблицу cxDBVerticalGrid1 загружаются из DataSource. Отображаемая таблица содержит столбцы типа faDateTime.

Делаю следующее:
ADODataSet ->LoadFromFile("C: \\Psp343.tmp");
cxDBVerticalGrid1 ->DataController->CreateAllItems();

В результате получается, что для столбцов типа faDateTime из DataSource в таблице cxDBVerticalGrid1 создаются столбцы со значением EditProperties = DateEdit, но Kind = ckDate (т.е. вводить можно только дату), а надо чтобы Kind = ckDateTime;
Не подскажите, каким образом программно изменить свойство Kind c ckDate на ckDateTime?
Автор: AndrewLight
Дата сообщения: 14.10.2007 14:55
Для тех у кого вылазеет в гриде ошибка- "OverFlow while converting variant of type(Integer) into type(Date)" (Было замечено на D6 Upd2), частичное решение поставить свойство поля (TCxGridDbColumn) Properties:=TextEdit.
Думаю то что не будет вылазить календарик при редактировании ячейки, программа много не потеряет.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

Предыдущая тема: Язык программирования на русском языке


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