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

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

Автор: X11
Дата сообщения: 16.02.2013 17:24
Странно. Есть код:

Код: procedure TfmSpr.dbTreeTypesKeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if (Key = VK_RETURN) and dbTreeTypes.FocusedNode.IsEditing then dbTreeTypes.FocusedNode.EndEdit(false);
end;
Автор: Ruslang
Дата сообщения: 18.02.2013 08:22
Со вторым своим вопросом разобрался сам:

Код: var AEvent: TcxSchedulerEvent;
begin
AEvent := cxStorage.CreateEvent;
with AEvent do begin
    Caption := 'Встреча';
    Start := Now()+0.001;
Duration := 30 * MinuteToTime;
State := tlsBusy;
Reminder:=true; // включаем срабатываение напоминалки
ReminderMinutesBeforeStart:=1; // срабатываение напоминалки за минуту до события
Post;
end;
end;
Автор: BlackVetal
Дата сообщения: 19.02.2013 05:55
X11
могу предположить только (пишу c# и в ручную ничего не сохраняю, все автоматом делается) - EndEdit(false) - возможно это отменяет "конец редактирования", может стоит поменять на true ?
Автор: makz
Дата сообщения: 19.02.2013 08:40
Ruslang
Все обработчики напоминалок в storage находятся, а не в самом планировщике.
Автор: siponya77
Дата сообщения: 19.02.2013 09:28
здравствуйте всем
прошу помощи плиз!!
имеется база на оракл, использую cxGrid и TOraQuery для отображения данных, редактирование данных производится при помощи грида.
Хочется перед сохранением данных проверить данные на валидность (правильность). Проблема еще и в том, что грид автоматически сохраняет все изменения без того, чтобы я делал toraquery.execsql
спасиб
Автор: makz
Дата сообщения: 19.02.2013 09:59
X11
Так ведь без всяких дополнительных обработчиков, по enter должно прекращаться/начинаться редактирование, если там не мемо какое-нибуть wantsreturn. Что там за эдитор?

Добавлено:
siponya77

Цитата:
Хочется перед сохранением данных проверить данные

Для этого есть событие у столбцов, которое так и называется: onValidate. Property должно быть назначено, чтобы его увидеть.
Автор: X11
Дата сообщения: 19.02.2013 12:51

Цитата:
могу предположить только (пишу c# и в ручную ничего не сохраняю, все автоматом делается) - EndEdit(false) - возможно это отменяет "конец редактирования", может стоит поменять на true ?


Да, это конец редактирования, входящий параметр назвается CANCEL
Автор: Ruslang
Дата сообщения: 19.02.2013 16:25
makz спасибо.


Вот такой вопрос - поставил на форму dxSkinController (по умолчанию SkinName -> Blue, но может быть изменен пользователем)
При запуске все компоненты перекрасились в цвет, который задает dxSkinController, кроме одного (не важно что это за компонент). Так вот я хочу вручную задавать этому компоненту цвет (такая возможность есть), такой же как и на всех остальных. Только как определить в какой цвет окрашены все остальные компоненты? Можно это как-то узнать?
Автор: marser
Дата сообщения: 20.02.2013 06:12
Ruslang

Цитата:
Только как определить в какой цвет окрашены все остальные компоненты? Можно это как-то узнать?

Цвет прописан в свойствах объекта класса TcxCustomLookAndFeelPainter. А объект класса
TcxCustomLookAndFeelPainter можно откопать во многих местах, например cxTextEdit.Style.LookAndFeel.SkinPainter
Автор: Ruslang
Дата сообщения: 20.02.2013 08:53
marser благодарю, то что надо!

Код: cxTextEdit.Style.LookAndFeel.SkinPainter.DefaultContentColor;
Автор: siponya77
Дата сообщения: 21.02.2013 07:50
makz
спасибо за совет.
но мне хотелось бы при нажатии на кнопку сохранить выполнить проверку всех данных.
а эта зараза cxGrid автоматически сохраняет данные (вставка, редактирование) при нажатии на другую строку.
Как можно сделать так, чтобы во время редактирования при нажатии на другую строку данные не сохранялись?
Автор: dimm78
Дата сообщения: 21.02.2013 08:24

Цитата:
а эта зараза cxGrid автоматически сохраняет данные (вставка, редактирование) при нажатии на другую строку.
Как можно сделать так, чтобы во время редактирования при нажатии на другую строку данные не сохранялись?


А что мешает грузить данные в cxView непривязанному к данным?))) Загружай данные в грид вручную, редактируй, а по кнопке сохранить делай с ними что хочешь...
Автор: X11
Дата сообщения: 21.02.2013 09:21

Цитата:
а эта зараза cxGrid автоматически сохраняет данные (вставка, редактирование) при нажатии на другую строку.


Так тебе ж сказали - используй событие OnValidate, там есть возможно запретить сохранение в случае ошибки
Автор: Ruslang
Дата сообщения: 23.02.2013 09:54
Использую TcxScheduler (cxScheduler), TcxSchedulerDBStorage (cxDBStorage) и TpFIBDataSet (FbScheduler) {база данных Firebird}
Все работает хорошо, научился создавать события.
Когда срабатывает Оповещение о событии (стандартное окошко), то кнопки "Прекратить" и "Прекратить все" работают, НО кнопка "Отложить" не срабатывает.
Какое поле в базе отвечает за "Отложить"?

Код: object cxDBStorage: TcxSchedulerDBStorage
Resources.Items = <>
CustomFields = <>
DataSource = DM.DsScheduler
FieldNames.ActualFinish = 'ACTUALFINISH'
FieldNames.ActualStart = 'ACTUALSTART'
FieldNames.Caption = 'ACAPTION'
FieldNames.EventType = 'EVENTTYPE'
FieldNames.Finish = 'FINISHDATE'
FieldNames.ID = 'ID'
FieldNames.LabelColor = 'LABELCOLOR'
FieldNames.Location = 'LOCATION'
FieldNames.Message = 'AMESSAGE'
FieldNames.Options = 'OPTIONS'
FieldNames.ParentID = 'PARENTID'
FieldNames.RecurrenceIndex = 'RECURRENCEINDEX'
FieldNames.RecurrenceInfo = 'RECURRENCEINFO'
FieldNames.ReminderDate = 'REMINDERDATE'
FieldNames.ReminderMinutesBeforeStart = 'REMINDERMINUTES'
FieldNames.ReminderResourcesData = 'REMINDERRESOURCES'
FieldNames.ResourceID = 'RESOURCEID'
FieldNames.Start = 'STARTDATE'
FieldNames.State = 'STATE'
FieldNames.TaskCompleteField = 'TASKCOMPLETEFIELD'
Left = 584
Top = 89
end
Автор: X11
Дата сообщения: 23.02.2013 13:04
Может пора уже 5ю часть начать?
Автор: eddoc
Дата сообщения: 23.02.2013 21:42
Ruslang
Обработчики свои писал?
Автор: Ruslang
Дата сообщения: 25.02.2013 08:43
eddoc пока еще ничего не писал, пока изучаю, но что-то туго идет (уже несколько раз получал Access Violation)... то ли лыжи не едут...

Создаю событие:

Код: Dm.FbScheduler.Append;
Dm.FbSchedulerOPERATOR.AsString:=FrmAccss.UnCode(Dm.FbUsrLG.AsString);
Dm.FbSchedulerEVENTTYPE.AsInteger:=0;
Dm.FbSchedulerSTARTDATE.AsDateTime:=Now()+0.0015;
Dm.FbSchedulerFINISHDATE.AsDateTime:=Now()+0.01;
Dm.FbSchedulerACAPTION.AsString:=Dm.FbClientORGANIZATION.AsString+' - Сообщение';
Dm.FbSchedulerOPTIONS.AsInteger:=6;
Dm.FbSchedulerREMINDERDATE.AsDateTime:=Now()+0.0015; // когда напомнить о событии
Dm.FbSchedulerREMINDERMINUTES.AsInteger:=1; // за сколько минут предупреждать!
Dm.FbSchedulerSTATE.AsInteger:=2;
Dm.FbSchedulerRECURRENCEINDEX.AsInteger:=-1;
Dm.FbScheduler.Post;
Автор: eddoc
Дата сообщения: 25.02.2013 15:17
Ruslang
по поводу полей в справке все типы подробно описаны.

А я решил писать свои обработчики. Пока допилил только внесение данных в сетку шедулера, соотвественно дефолтовую девкенскую таблю разбил на несколько по типу 1:n. Чую, с эвенатами придется повозюкаться, ибо без таймера не обойтись
Автор: Cryogen2003
Дата сообщения: 26.02.2013 12:38
Добрый день.

Помогите реализовать Drag-N-Drop в компоненты грида от девок.
Нужно сделать следующую реализацию - выделение пользователем файлов в эксплорере или там в TC, и после того, как пользователь перенесет файлы в грид, они должны добавиться в базу.
Само добавление файлов (по одному) давно уже работает, а что-то с drag-n-drop засел. Как определить что я кинул именно файлы, причем извне программы? Через какой обработчик это лучше сделать - OnDragDrop или OnEndDrag? А если кто-то пульнет кодом работающим, то буду очень благодарен и конечно рад
Автор: Andryshok
Дата сообщения: 27.02.2013 00:52
Cryogen2003
ХТТП://g.zeos.in/?q=drag and drop Delphi, DevExress, примеры, решения
Самая первая ссылка
Автор: delover
Дата сообщения: 27.02.2013 20:18
Добрый день подскажите если кто знает.
dxGrid - непомню почему но надо было включить SmartRefresh. И оказалось что когда отменяю фильтр quFibData.Filtered := false. После этого уже грид не видит что датасет изменился. Я думал что Рефрешь связан с обновлением данных о записи и связи не вижу. Кто знает как этим рулить?
Автор: MagistrAnatol
Дата сообщения: 28.02.2013 07:34
Подскажите, на девках можно реализовать подобие функционала Андроида, в частности меня интересует
шторка, или трей по другому,что-то похожее - DockPanel - но как заставить раскрываться не по кнопке - а взял и потащил вниз? Я понимаю - извращение - но хочется чего-то нового
Автор: mdid
Дата сообщения: 28.02.2013 14:09
MagistrAnatol
в jedi есть панель, в которой реализовано перемещение и изменение размеров в ран тайме. Можно подсмотреть реализацию растягивания и сделать вашу "шторку"
Автор: Ruslang
Дата сообщения: 01.03.2013 08:34
Можно ли на cxButton прикрепить картинку (как на стандартный BitBtn)? Или есть какой-то другой компонент кнопка?
Автор: mdid
Дата сообщения: 01.03.2013 09:16
Ruslang
да как бы можно. Задаете вопрос, не посмотрев очевидные свойства в инспекторе объектов?
класс OptionsImage
Автор: Ruslang
Дата сообщения: 01.03.2013 09:52
mdid вот спасибо... несколько раз просматривал свойства в поисках Glyph, но так и не смог найти )))
Автор: neznayka3
Дата сообщения: 01.03.2013 14:45
как ускорить фильтрацию в GridDBTableView? когда юзеры грузят несколько тысяч записей, грид заметно тормозит при фильтрации. причем неважно, фильтрую через <dataset> или <view>. если GridMode=true, то все летает, но этот режим не подходит. DisableControls, BeginUpdate() стоит везде.
Автор: X11
Дата сообщения: 01.03.2013 15:18
В первую очередь нужно часть отфильтровать на сервер с помощью SQL where
Автор: neznayka3
Дата сообщения: 01.03.2013 16:49
X11
форма загрузки с кучей условий, но юзеры не хотят напрягаться, грузят все потом фильтруют как в excel.
Автор: dsk
Дата сообщения: 01.03.2013 21:56

Цитата:
как ускорить фильтрацию в GridDBTableView? когда юзеры грузят несколько тысяч записей, грид заметно тормозит при фильтрации

ИМХО никак (апгрейд железа?), сам долго бился с похожей проблемой, в итоге отрубил режим загрузки всего, сделал визард, в котором и вводятся условия. Хош не хош, а приходится вводить. Ругаются но работает быстро

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


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