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

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

Автор: Baklan_vs
Дата сообщения: 21.05.2012 17:06
mdid
Я не везунчик......
Я так и не решил проблему с (DLL+cxGrid+MDIChild).
Передаю в DLL, TApplication от MDIMainForm... вроде всё ок и работает замечательно... но когда захотел из MainForm обратиться к Child то увидел что frMain.MDIChildCount = -1 =(((
Попытался передать Cursor в DLL но он не хочет дружить с dxInitialize;
Прешлось изобретать велосипед что-бы реализовать удобную панельку с открытыми MDIChild на MainForm...
Может кто знает как это красиво решить.....?
Автор: mdid
Дата сообщения: 21.05.2012 19:00
Baklan_vs
вам нужна панель для MDI окон? могу предложить свою наработку пример
Автор: Baklan_vs
Дата сообщения: 22.05.2012 07:24
mdid
у вас MDI в DLL лежат???
Автор: mdid
Дата сообщения: 22.05.2012 07:50
Baklan_vs
а не...пардон...я чего то подумал что обработка у вас в dll...и кстати в dll адресация другая...передавайте переменные в качестве pointer...должно помочь
Автор: Baklan_vs
Дата сообщения: 22.05.2012 08:18
mdid
Не вто дело, там проблемы с MDIChild и присутствием на форме cxGrid.
Но я всё решил =))))
У меня вопрос, не поделитесь реализацией поиска по гриду?
Можно в личку.
Автор: X11
Дата сообщения: 22.05.2012 09:09

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


это актуально многим, можно даже в шапку вынести
у меня есть реализация, но работает кривовато
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123&start=2400#12

например, "не видит" первую запись, но если сделать по другому то вообще не ищет
у девок такой мощный грид, могли бы реализовать встроенный нативный поиск на частично совпадение

у нашего замечательного DC Reader`а есть встроенный поиск, не мог бы автор поделиться реализацией?


Автор: mdid
Дата сообщения: 22.05.2012 09:20
X11
а вы уверены что он ищет методами грида? я почему то нет...на сколько я понял у ридера есть своя БД и поиск скорее всего ведется путем передачи запроса.

лично я использую у себя 2 метода
1. это sql запрос... быстро удобно...не используя методы грида
2. фильтрация методами грида быстро но неудобно так как внизу грида появляется панель с условием отбора+изредка появляются AV....посему лично для себя выбрал исключительно sql запросы
Автор: Baklan_vs
Дата сообщения: 22.05.2012 10:04
X11
mdid
Я реализовал регистронезависимый поиск по нескольким колонкам методом Query:

Код:
procedure TfrContragents.utCon_viewFilterRecord(DataSet: TDataSet;
var Accept: Boolean);
begin
Accept := (pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[1].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[5].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[6].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[7].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[8].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[9].AsString)) <> 0) or
(pos(AnsiUpperCase(bStr), AnsiUpperCase(DataSet.Fields[10].AsString)) <> 0);
if bStr = '' then // проверка переменной содержащей строку поиска....
Accept := True;
end;
Автор: X11
Дата сообщения: 22.05.2012 10:10
Интересует именно поиск по cxGrid, т.к. в базе может хранится другая информация физически, например шифрованная и поиск на частичное совпадение невозможен.
Второе. Бывает, что запрос слишком сложен или вообще берётся из разных таблиц, баз и т.д.
И третье. То, что выполняет SQL - это не поиск!!! Многие путают поиск и выборку. Я выбрал из базы 10-20-100 записей, а теперь мне нужно найти среди них какие-то определённые. В таблице видит пользователь ещё и дополнительно отсортированную, отфильтрованную информацию, в которой нужно что-то найти. Так что SQL тут не поможет.

Добавлено:

Цитата:
DC Reader`а есть встроенный поиск, не мог бы автор поделиться реализацией?

Это про что???

Это про DelphiComp Reader для копилки, написанный, пользователем 3SCrack. Но это программа не для данного раздела форума. Надо поиска, может где исходного он выложил.
Автор: Cryogen2003
Дата сообщения: 22.05.2012 10:58
X11
я переписывал форму поиска от EhLib для этого. если хочешь, могу дать исходники (правда там слишком много допов идет ко всему этому)
Автор: regkz
Дата сообщения: 22.05.2012 13:15
так в DC Reader используются ТМС, а не девки
Автор: neznayka3
Дата сообщения: 23.05.2012 11:38
как присвоить значение customfield при создании евента в SchedulerDBStorage?
Код: with cxSchedulerDBStorage1.CreateEvent do
begin
cxSchedulerDBStorage1.CustomFields.ItemByFieldName('status')...
Автор: mdid
Дата сообщения: 23.05.2012 16:23
а кто как борется с отрисовкой девовских скинов...просто на средних фофисных машинах это происходит весьма долго
Автор: X11
Дата сообщения: 23.05.2012 16:27
NativeStyle включается и всё
ну или вообще без шкурок
Автор: mdid
Дата сообщения: 23.05.2012 16:31
X11
так это ж так фэ...ну совсем не кузяво выходит...все на столько не красиво((
Автор: X11
Дата сообщения: 23.05.2012 16:49
Ты лично себе делаешь приложение?
Автор: mdid
Дата сообщения: 23.05.2012 18:14
X11
нет...фин отделу...но просто выглядит уж совсем бедно..я думал может есть варианты ускорить отрисовку...
беда в том что есть возможность не юзать скин...и усеры об этом знают....но не один не юзает нативный стиль
Автор: VadimLou
Дата сообщения: 24.05.2012 03:51
Baklan_vs, X11
Поиск по cxGridTableView по частичному совпадению
[more]
Код:
...
uses
...
cxGridTableView,
cxCustomData,
...
cxGridTableView: TcxGridTableView;
cxColumn: TcxGridColumn;
ASearhText: string;
...
begin
...
ASearhText := ...
cxGridTableView.Controller.CancelIncSearching;
//cxGridTableView.Controller.GoToFirst; // ищем с начала или с текущей позиции
cxGridTableView.DataController.Search.Locate(cxColumn.Index, ASearhText, {AForward}True);
// cxDataUtils.DataCompareText(..., {APartialCompare:}True);
Автор: neznayka3
Дата сообщения: 24.05.2012 07:35
поставил 2.5 с русскими ресурсами. как их включить?
Автор: Senpai07
Дата сообщения: 24.05.2012 08:18
neznayka3

Цитата:
поставил 2.5 с русскими ресурсами. как их включить?

cxLocalizer1.FileName := ExtractFilePath(Application.ExeName) + 'RusDev.ini';
Автор: neznayka3
Дата сообщения: 24.05.2012 09:03
Senpai07
если в дизайн-тайме установить - работает. в ран-тайме нет

Код: l1.FileName := ExtractFilePath(Application.ExeName) + 'RusDev.ini';
l1.Locale:=1049;
l1.Active:=true;
Автор: X11
Дата сообщения: 24.05.2012 09:11
Выглядит строки и прятно между прочим. Большинстве, если не всем, нравится.
Ну и решать за пользователя, что именно ему должно нравится - не очень хорошо.
Всё, тема скатывается во флейм, замолкаю.
Автор: mdid
Дата сообщения: 24.05.2012 09:12
neznayka3
проверьте путь
и чем черт не шутит поменяйте местами

Код:
l1.Locale:=1049;
l1.Active:=true;
Автор: neznayka3
Дата сообщения: 24.05.2012 09:22
mdid
спасибо. поменял - заработало)
Автор: X11
Дата сообщения: 24.05.2012 09:27
вначале Active:=true; а потом уже меняй параметры
Автор: neznayka3
Дата сообщения: 24.05.2012 11:48
как переопределить удаление у Scheduler? надо при удалении просто изменить статус записи, а не удалять. AHandled:=true; в onEventDeleted не работает для повторяющихся событий.

upd. почему id не вставляется?
Код: procedure TfmScheduleExplore.cxSchedulerDBStorage1EventInserted(Sender: TObject;
AEvent: TcxSchedulerEvent; var AHandled: Boolean);
begin
AEvent.ID := getSequence('schedule_schedule_id_seq');
...
Автор: Stephex
Дата сообщения: 25.05.2012 17:53
Подскажите какой размер выставлять в БД Firebird 2.5 (d3) для полей RecurrenceInfo, ReminderResourcesData, TaskLinksField типа BLOB, используемых Scheduler?
Автор: simplecs
Дата сообщения: 26.05.2012 14:23
Здравсвуйте!
Использую cxgrid для DElphi:
в режиме работы программы создаю новые поля:

Var
ADBColumn: TcxGridDBColumn;
....
ADBColumn:=cxGrid1DBTableView1.CreateColumn;
ADBColumn.DataBinding.FieldName := 'Col'+INttostr(i);
ADBColumn.Name := 'Col'+INttostr(i);
ADBColumn.Caption:= 'Col'+INttostr(i);
ADBColumn.HeaderAlignmentHorz := taCenter;
ADBColumn.HeaderAlignmentVert:=vaCenter;

Так вот, вертикальное выравнивание заголовков в центру не работает! Заголовки все-равно выравнены по верхнему краю. А как сделать по центру?
Автор: marser
Дата сообщения: 28.05.2012 06:40
simplecs

Цитата:
вертикальное выравнивание заголовков в центру не работает!

cxGrid1DBTableView1.OptionsView.HeaderEndEllipsis что стоит? Если True, то попробуйте поставить False.
Автор: neznayka3
Дата сообщения: 28.05.2012 10:10
как в TdxDbOrgChart задать форму/цвет/выравнивание текста по умолчанию?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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