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

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

Автор: Inimeg
Дата сообщения: 15.11.2006 10:49
Добрый день.
У меня возникла проблема с использованием компоненты TcxDateEdit.
Мне нужно чтобы он выводил кроме даты еще и время.
В properties -> kind указал ckDateTime.
Время выводить стал. Но как то странно. В момент когда фокус на нем дата и время отображаются верно. К примеру 11.04.2006 13:15. Но стоит ему потерять фокус, как дата
преобретает следующий вид 11.04.2006 1:15. Понятно что он приводит её к буржуйскому формату. Но вот как отключить это мне не понятно. Вроде в настройках этого компонента свойств отвечающих за это нет.

Прошу помоши. Или хотя бы где копать в исходниках если через свойства это решить нельзя?
Автор: vadson6666
Дата сообщения: 15.11.2006 11:30
Inimeg


Ничего не меняя, сделал кайнд ckDateTime написал cxDateEdit1.date := NOw;
после смены фокуса все осталось нормально, какая версия Делфы и Девоф, у меня БДС 4, Дев 5.19
Автор: Inimeg
Дата сообщения: 15.11.2006 11:49
vadson6666
Delphi 2006
DevExpress ExpressQuantumGrid Suite v5.12 for Delphi.BCB

Автор: vadson6666
Дата сообщения: 16.11.2006 05:06

Цитата:
DevExpress ExpressQuantumGrid Suite v5.12 for Delphi.BCB


При чем тут квантум грид? Я имел в виду Эдиторы дев экспов... Windows XP en, может быть надо копать в сторону региональных настроек, хотя, у меня и так все нормально работает.
Автор: Inimeg
Дата сообщения: 16.11.2006 09:47
vadson6666
DevExpress ExpressQuantumGrid Suite - это полный набор, в нем есть ExpressEditors Library 5 от туда и ставились эти компоненты. Как посмотреть версию именно компонент?
Винда русская лицензионная.
Автор: vadson6666
Дата сообщения: 16.11.2006 10:32

Цитата:
Как посмотреть версию именно компонент?


Щелкануть правой кнопкой по компоненту, в выпадающем меню и будет номер версии.
Автор: Inimeg
Дата сообщения: 16.11.2006 11:32
vadson6666
Спасибо ж)
Версия Express Editors 5.12 как я и говорил (весь набор этой версии).
Пробую сейчас скачать 5.18. Может действительно это была ошибка и её исправили.

Автор: X11
Дата сообщения: 16.11.2006 16:45
Вопрос по cxRadiogroup:
как во время выполнения приложения узнать какой пункт выбран?

это
if rgSelect.Buttons[0].Focused then
if sd1.Execute then
edArcName.Text := sd1.FileName;

не всегда срабатывает, т.к. элемент не всегда сфокусирован



Добавлено:
rgSelect.ItemIndex ????
неужели у DevExpress так просто?
Автор: vadson6666
Дата сообщения: 17.11.2006 04:54

Цитата:
неужели у DevExpress так просто?


Именно так, а как может быть иначе? Разве у стандартного из поставки Делфи не так?
Автор: X11
Дата сообщения: 17.11.2006 07:50
Обычно у devExpress посложнее, чем у стандартных компонент, например я вчера немного помучался с TcxCheckListBox

Раньше было:
procedure TfmApartSearch.pmExSelectAllClick(Sender: TObject);
Var
i:integer;
begin
if (pmCheck.PopupComponent is TCheckListBox) then
for i := 0 to (pmCheck.PopupComponent as TCheckListBox).checked[i]-1 do
(pmCheck.PopupComponent as TCheckListBox.Checked[i] := true;
end;

А теперь:
procedure TfmApartSearch.pmExSelectAllClick(Sender: TObject);
Var
i:integer;
begin
if (pmCheck.PopupComponent is TcxCustomInnerCheckListBox) then
for i := 0 to ((pmCheck.PopupComponent as TcxCustomInnerCheckListBox).Container as TcxCheckListBox).Count-1 do
((pmCheck.PopupComponent as TcxCustomInnerCheckListBox).Container as TcxCheckListBox).Items[i].Checked := true;
end;

Автор: vadson6666
Дата сообщения: 17.11.2006 08:24

Цитата:
Обычно у devExpress посложнее, чем у стандартных компонент,


А, в этом смысле, сорри не понял шутку юмора , действительно, в большинстве случаев Девы извращаются не по детски, зато функционал какой!
Автор: X11
Дата сообщения: 17.11.2006 08:33
Да, согласен.
А я вот потихоньку, но только потихоньку переезжаю на DevExpress, а то резко не получится .
Автор: golkanavt
Дата сообщения: 17.11.2006 13:16
Кто нибудь сталкивался с задачей реализации столбца в гриде, способного отображать иконки но не с помощью ImageComboBox - он показывает только одну иконку по индексу - хочется сделать универсальную колонку отображающую статус документа. Объясняю поподробнее - у документа в базе есть куча атрибутов, которые на клиенте отображаются несколькими колонками с ImageComboBox. Есть желание заменить всю эту кучу колонок одной показывающей набор иконок соответственно атрибутам документа. Т.е. атрибуты, имеющие значения, визуализируются иконками, не установленные атрибуты - не отображаются. Комбинации этих атрибутов могут быть практически любые, так что заранее нарисовать комбинации иконок на все случаи жизни не получится. Надеюсь, понятно изложил задумку.
Автор: xokc
Дата сообщения: 17.11.2006 14:06
Кто сталкивался: После установки TcxGrid.Enabled := False нажатие любой клавиши приводит к Exception
Автор: jicoff
Дата сообщения: 17.11.2006 16:20
golkanavt

Поищи в этой теме, этот вопрос уже поднимался. Не помню какие там советы давались, но по мне, так Custom отрисовку надо реализовывать.
Автор: afiget
Дата сообщения: 17.11.2006 19:07
golkanavt
По мне, так не стоит изменять существующий способ. Насколько я понял, кол-во атрибутов - конечно. Поэтому держать для каждого атрибута свою колонку даже удобно. Ведь по ним можно сортировать и отбирать документы в журнале. А места занимают не так уж и много.
А вот если все картинки слить в одну, то возникнут проблемы с распознаванием иконок. Ведь, если не предусмотреть свое место для каждого типа иконок (тип 3 всегда на 3 месте), то это место будет все время меняться. Неудобно.
А если фиксировать место, то чем это отличается от отдельной колонки? :)
Автор: golkanavt
Дата сообщения: 18.11.2006 13:16
afiget

Цитата:
Ведь по ним можно сортировать и отбирать документы в журнале.

Это верно, не спорю.

Цитата:
Ведь, если не предусмотреть свое место для каждого типа иконок (тип 3 всегда на 3 месте), то это место будет все время меняться. Неудобно.
А если фиксировать место, то чем это отличается от отдельной колонки?

Это будет отличаться размером этой мультистатусной колонки. Допустим, будет 10 атрибутов, но ни у одного документа всех 10 нет, а есть по 5-6 - в этом случае ширина столбца будет соответствовать этим 5-6 иконкам, а при стандартном способе должны быть показаны все 10 колонок даже несмотря на отсутствие данных в половине из них.
Автор: afiget
Дата сообщения: 18.11.2006 15:03
golkanavt
10 атрибутов? Ну ты силен! :)
А сколько это в пикселях? Сколько выиграешь места?

ЗЫ
Может быть тогда стоит задуматься над отдельным дочерним гридом для атрибутов? Т.е. фактически провести нормализацию, говоря на языке БД.
Автор: samusev
Дата сообщения: 20.11.2006 11:21
Прошу помощи.

есть форма например в данными клиента

ФИО завязано на TcxLookupComboBox, у которого источником Query
и еще несколько текстовых полей.

Задача формы:
- можно вводить все значения вручную
- можно выбрать из списка уже существующих клиентов

Проблема реализации:
как мне обработать событие - выбора записи в выпадающем списке (onSelect) чтобы затем заполнить оставшиеся поля значениями из Query


Спасибо за помощь
Автор: sunduk4
Дата сообщения: 20.11.2006 12:10
samusev
на OnEditValueChanged, я думаю
Автор: samusev
Дата сообщения: 20.11.2006 15:23

Цитата:
на OnEditValueChanged, я думаю


не подходит! Так как это поле находится еще и в режиме свободного ввода - мне нужно перехватывать именно событие - "Выбрано в ниспадающем списке" (не важно мышем или клавой)
Автор: jicoff
Дата сообщения: 20.11.2006 15:50
samusev

Мне не удалось найти такого события. И все же не понятно, что не устраивает в OnEditValueChanged?
Автор: samusev
Дата сообщения: 20.11.2006 17:15
Потому что это событие возникает в любом случае изменения Field.editText или field.editvalue. Ручками или программно =например при инициализации формы.
А мне нужно заполнять остальные поля формы только после выбора из списка.

Подробнее так. - есть форма данных по клиенту.
ФИО и так далее. Поля формы НЕ db-aware Я ее использую и для создания нового клиента и для выбора уже имеющихся в базе. Выборка производится по полю ФИО.

вот если я в списке выбрал кого-то, то тогда заполнить все остальные поля формы данными из FIOField.properties.Лукап-датасета

В общем отловить событие onSelect (onEnter) именно у ниспадающего списка невозможно. ,(( - плАчу
Автор: OXDBA
Дата сообщения: 20.11.2006 17:23
samusev
Ты только не плачь см. OnCloseUp

Код:
procedure блаблаFIOEditPropertiesCloseUp(Sender: TObject);
begin
TcxComboBox(Sender).ItemIndex > 0; // Выбрали из списка
TcxComboBox(Sender).ItemIndex = -1;// Набили руками
end;
Автор: jicoff
Дата сообщения: 20.11.2006 19:36
OXDBA

Только индекс с нуля начинается.
Автор: A_V
Дата сообщения: 21.11.2006 01:30
samusev
ну а вобще при программном изменении флажок можно выставлять..
Автор: OXDBA
Дата сообщения: 21.11.2006 09:23

Цитата:
Только индекс с нуля начинается.

Точно , просто у меня в 0 раньше было 'Создать новый ...', это только сейчас я понял, что в cxComboBox можно еще кнопок довавить
Автор: Kr_Alex
Дата сообщения: 21.11.2006 09:37
OXDBA

Хм, щас попробовал добавить кнопки к cxCombobox - проблемне вызвало, а как события на них повесить?
Автор: OXDBA
Дата сообщения: 21.11.2006 09:56
Kr_Alex
Создаем процедуру типа

Код:
procedure OnMyComboBoxBtnClick(Sender: TObject; AButtonIndex: Integer);
Автор: samusev
Дата сообщения: 21.11.2006 11:00
OXDBA
[q][/q]

Огромное спасибо!

Твое решение работает!

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


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