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

» Использование DevExpress (часть 3)

Автор: kii
Дата сообщения: 28.09.2009 10:56
В том - то все и дело, что ни чего особенного.
просто 2 февраля или 3 или и тд
фиксируется какое либо событие
3 число есть а 2 нет
28 дек есть и 26, а 27 нет - почему
Автор: volser
Дата сообщения: 28.09.2009 11:44
kii
Опишите подробней проблему. Желательно со скриншотом.
Автор: kii
Дата сообщения: 28.09.2009 12:10
Ситуация такая у меня в поле даты может быть пусто или какая - нибудь дата, ковыряясь с новыми компонентами доступа к данным, увидел что пустая дата представлееся как дата 31.12.1899
а при вызове фильтра в ExpressQuantumGrid 6 появились пустые даты.


Но если рядом поставить стандартный DBGrid и QuantumGrid, то впервом есть все а вщ втором пусто.

Автор: volser
Дата сообщения: 28.09.2009 13:27
kii
DataField установлен? Если поставить другой эдитор для колонки данные отображаются?
Автор: kii
Дата сообщения: 28.09.2009 13:51
Все установлено.
Может для примера неудачные данные
Вот другой пример :


этот пример получен в D2007.
Ошибка обнаружена в 2010.
Автор: ant0ni02004
Дата сообщения: 28.09.2009 16:53
kii

может bound/unbound mode поиграться, LoadAllRecords?
Автор: JohnSilver182
Дата сообщения: 28.09.2009 17:26
Hi all
А в колонке можно как то отрегулировать отступ данных от границы ячейки ??
Автор: volser
Дата сообщения: 28.09.2009 17:28
kii
Интересная ошибка. У себя не встречал. Какая версия грида?
Автор: ant0ni02004
Дата сообщения: 28.09.2009 18:10
JohnSilver182

можна поиграться с cxGridCellTextOffset, либо самому отрисовывать в OnCustomDrawCell
Автор: vladman
Дата сообщения: 28.09.2009 22:25
kii

Цитата:
этот пример получен в D2007.
Ошибка обнаружена в 2010.

Так скриншот с 2007 или 2010? Если с 2007, то на нем тоже не все в порядке. Были бы исходники примера, не гадали бы что и как у вас в гриде настроено.
Автор: Chukotka
Дата сообщения: 29.09.2009 02:41
Имеем: cxDbVerticalGrid + PopupEdit в качестве EditProperties для нескольких полей. Нужно добавить еще одну кнопку к этим PopupEdit'орам и обработать нажатие на ней. Делаю так:

Код: procedure InitPopup(R: TcxDBEditorRow);
begin
with (R.Properties.EditProperties as TcxPopupEditProperties).Buttons.Add do
begin
Kind := bkEllipsis;
OnClick := OnSecondButtonClick;
end;
end;
Автор: Radio_Kat
Дата сообщения: 29.09.2009 05:12
проблемму с TcxDBTreeList 46 + FireBird 2.5 + generatorField support признал bug'ом
Автор: kii
Дата сообщения: 29.09.2009 08:04
vladman
Скриншот из 2007, но обнаружил такую хрень в 2010 (вчера снес его)volser


volser
Последняя сборка от Феди

По сути таблицы DBF Clipper, dataSet, DataSource (1) и два Grid'a на один DataSource
поля прописываются и распознаются автоматически и правильно.
Но преставление разное с одного и того же источника !!!! в DBGrid есть эти даты, а в
ExpressQuantumGrid 6 - нет !!!
Автор: FunCode
Дата сообщения: 29.09.2009 08:35

Цитата:
Сегодня поставил последний DevExpress от feandy на Delphi 2010 и заметил такую вещь в Object Inspector в свойствах любого DevExpressовского компонента Style->AssignedValues вижу следующее:

(мой пост со скриншотом был на предыдущей странице)

неужели никто не ставил 46 сборку на Delphi 2010 ?
Автор: rainebove
Дата сообщения: 29.09.2009 10:49
vladman

Цитата:
Цитата:
cxGrid2Level1 - DataSource =dsDoc

Где вы нашли у Level свойство DataSource и DataSet?
Нужно так - cxGrid2DBTableView1.DataController.DataSource = dsDoc,
а в dsDoc.Dataset = spDoc

Я это и имел ввиду. С отображением данных в cxGrid разобрался как оказалось не работало потому что не было выставлено свойство DataBinding.
Возник еще один вопрос... Как получить значение ячейки в cxGride?
Нашел такой пример: Label1.Caption:=VarToStr(cxGrid2DBTableView1->DataController->Values[2,2]);
Но неработает выдает ошибку, E2193 Too few parameters in call to '_fastcall TcxCustomDataController::GetValue(int,int)'
Подскажите как получить значение ячейки???

Автор: volser
Дата сообщения: 29.09.2009 10:59
rainebove
Может данные проще с датасета читать?
Автор: vladman
Дата сообщения: 29.09.2009 11:08
Chukotka

Цитата:
Кнопка появляется, но на нажатие не реагирует.

Попробуйте так:

Код: procedure <YourForm>.OnSecondButtonClick(Sender: TObject; AButtonIndex: Integer);
begin
ShowMessage('Button #' + IntToStr(AButtonIndex) + ' was pressed.');
end;

procedure <YourForm>.InitPopup(R: TcxDBEditorRow);
begin
with (R.Properties.EditProperties as TcxPopupEditProperties).Buttons.Add do
begin
Kind := bkEllipsis;
R.Properties.EditProperties.OnButtonClick := OnSecondButtonClick;
end;
end;
Автор: Chukotka
Дата сообщения: 29.09.2009 12:16
vladman

Цитата:

Код: R.Properties.EditProperties.OnButtonClick := OnSecondButtonClick;
Автор: rainebove
Дата сообщения: 29.09.2009 12:35
volser

Цитата:
Может данные проще с датасета читать?

Эти данные не возвращаются из БД они вводятся пользователем в грид
Автор: volser
Дата сообщения: 29.09.2009 13:55
rainebove
Я писал про датасет. О его наличии я сделал вывод после фразы cxGrid2DBTableView1.DataController.DataSource = dsDoc и названия вью cxGrid2DBTableView1.
Автор: rainebove
Дата сообщения: 29.09.2009 14:19
volser

Цитата:
Я писал про датасет. О его наличии я сделал вывод после фразы cxGrid2DBTableView1.DataController.DataSource = dsDoc и названия вью cxGrid2DBTableView1.

Датасет есть, он выводит часть данных в грид, а одно поле в гриде заполняется пользователем. Это поле cxGrid2DBTableView1DBColumn2 свойство Properties у него=memo.
Как получить его значение?
Автор: Cryogen2003
Дата сообщения: 29.09.2009 15:06
Люди, столкнулся еще с некоторой непоняткой при переводе с EhLib на девок.
В TDBLookupComboboxEh при изменении KeyValue срабатывали различные Event, например OnAfterScroll. В TcxLookupComboBox такого не происходит почему-то. Как сделать чтобы срабатывали эти Event, просто не все случае обыграешь через KeyValueChange.
Автор: SIgor33
Дата сообщения: 29.09.2009 15:16
В программе автоматом сами по себе вставлются в uses модули скинов dxSkinsCore, dxSkinBlack, dxSkinBlue ... Я их удаляю они вновь пояляются как изабиться от них
Автор: Cryogen2003
Дата сообщения: 29.09.2009 15:21
SIgor33
Project -> Modify Skin Options

И вырубить там эти скины
Автор: JohnSilver182
Дата сообщения: 29.09.2009 15:26

Цитата:
В программе автоматом сами по себе вставлются в uses модули скинов dxSkinsCore, dxSkinBlack, dxSkinBlue ... Я их удаляю они вновь пояляются как изабиться от них

)))))
Я сам чистил вчера . Надо с dxSkinController1 поколдовать . dxSkinController1 + ПКМ -> Modify Project Skin Options . И там вычистить все скины .

З.Ы. А вобще странно что dxSkinController1 накидает во все формы этой хрени , и чисти потом Руками сам.





Автор: SIgor33
Дата сообщения: 29.09.2009 15:58
Cryogen2003
Спасибо все отключилось
Автор: volser
Дата сообщения: 29.09.2009 17:51
rainebove
У меня через cxGrid1DBTableView1.DataController.Values все отлично работает. Delphi 7. v46. Может значения индексов выходят за границы?
Автор: X11
Дата сообщения: 29.09.2009 23:43

Цитата:
Люди, столкнулся еще с некоторой непоняткой при переводе с EhLib на девок.
В TDBLookupComboboxEh при изменении KeyValue срабатывали различные Event, например OnAfterScroll. В TcxLookupComboBox такого не происходит почему-то. Как сделать чтобы срабатывали эти Event, просто не все случае обыграешь через KeyValueChange.

Включи синхронизацию в свойствах. Не помню точно, как называется свойство в cxLookupComboBox. Что-то вроде Sync.....

Добавлено:
Чтобы cxLookupComboBox перемещал курсор датасета когда ты перемещаешься мышкой по раскрытому cxLookupComboBox`у.
Автор: Cryogen2003
Дата сообщения: 30.09.2009 08:19
SIgor33
Да не за что

X11
АГА, нашел, спасибо. Кстати иногда почему-то не срабатывает, по крайней мере когда в первый раз программно устанавливаешь EditValue.
Автор: rainebove
Дата сообщения: 30.09.2009 08:23
volser

Цитата:
У меня через cxGrid1DBTableView1.DataController.Values все отлично работает. Delphi 7. v46. Может значения индексов выходят за границы?

Нет индексы разные пробовал, ошибку выдает. Насколько я понял это можно сделать только через InplaceEditor?
Подскажите, если кто работал с InplaceEditor-ом как добраться до значения ячейки cxGrida свойство Properties котрого установлено Memo, те cxGrid1DBTableView1DBColumn1->Properties=Memo.
Если можно приведите пример кода желательно для builder.

Вот даже код нашел:
cxGrid1DBTableView1->Controller->EditingController->ShowEdit(cxGrid1DBTableView1->Controller->FocusedItem);
TcxMemo *cxMemo = (TcxMemo*)cxGrid1DBTableView1->Controller->EditingController->Edit;
if(cxMemo)
Label12->Caption=cxMemo->Text;
Но не работает и еще ShowEdit это как я понял какое то окно должно появлятся или нет?
Как добраться до значения поля подскажите???
СПАСИБО.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

Предыдущая тема: Delphi: tcp клиент в потоке


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