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

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

Автор: vladman
Дата сообщения: 04.08.2009 19:47
JohnSilver182

Цитата:
меня никто не любит ...

А более верно:
cxMemo1.InnerControl.perform(wm_vscroll, SB_PAGEDOWN, 0);

Добавлено:

Цитата:
З.Ы. А почему в Девках элементарные вещи идут через тернии ????

Потому что cxMemo1 это контейнер, а еще,
потому что через тернии к звездам
Автор: JohnSilver182
Дата сообщения: 04.08.2009 19:56
А если можно , в двух словах в чем разница ??

cxMemo1.InnerControl.perform(wm_vscroll, SB_PAGEDOWN, 0);
cxMemo1.perform(wm_vscroll, SB_PAGEDOWN, 0);
Автор: vladman
Дата сообщения: 04.08.2009 20:13
JohnSilver182

Цитата:
А если можно , в двух словах в чем разница ??

Если в двух словах, то
cxMemo1 - это контейнер и он не знает как обработать ваше сообщение, а InnerControl - знает.
Hierarchy
TCustomControl | TcxControl | TcxContainer | TcxCustomEdit | TcxCustomTextEdit | TcxCustomMemo | TcxMemo, и
TcxCustomEdit = class(TcxContainer, IUnknown, IcxEditRepositoryItemListener,
IdxSkinSupport, IdxSpellCheckerControl
Автор: RedCliphAloe
Дата сообщения: 05.08.2009 10:57
Здравствуйте. Такая проблема. Есть cxGrid (DBNavigator не использую - в свойствах датаконтроллера стоит dcoImmediatePost = True; в свойствах датасета стоит CommitOnPost = True). На одно из полей повешен LookUpComboBox... Нужно чтобы он НЕ редактировался колесиком мышки и стрелками при скрытом выпадающем списке. Подскажите, пожалуйста, как это сделать?
Автор: vladman
Дата сообщения: 05.08.2009 11:57
RedCliphAloe

Цитата:
Нужно чтобы он НЕ редактировался колесиком мышки и стрелками при скрытом выпадающем списке.

Установите свойство Options.Editing = false вашей TcxGridDBColumn с LookUpComboBox.
Автор: Cryogen2003
Дата сообщения: 05.08.2009 12:16
Кто-нибудь переписывал или дописывал часть кода, чтобы dxSpellChecker ел меньше памяти при TdxSpellCheckerCheckAsYouTypeOptions и Active := True (чтоб автоматом сразу проверял правильность ввода и была возможность исправить с помощью предлагаемых слов, ну как в ворде). Просто при подключенных английском и русском словарях вес программы в памяти - около 150 мегов, что мягко говоря не хило
Как я понимаю вся проблема там, что все варианты с этими предлагаемыми словами грузяться в TList и из-за этого такой дикий расход памяти.
Автор: VladijSPb
Дата сообщения: 05.08.2009 13:27
Помогите разобраться с фильтром в таблице...
При попытке выбрать по части значения (фильтр-> Выбрать -> В фильтре выбираю "содержит") - не находит, если указать полное соответствие - находит...
т.е. получается, что фильтру без разницы "like" или "=" - работает только в случае равенства...
А очень бы хотелось, чтобы по частичному совпадению тоже был бы отбор...
Автор: X11
Дата сообщения: 05.08.2009 13:43
а знаки процента кто будет указывать? Посмотри синтаксис оператора like
Автор: f3ka
Дата сообщения: 05.08.2009 13:56
VladijSPb
вообще то синтаксис оператора LIKE подразумевает что если ищется не точное соответствие то надо дописывать WildCard, то есть указывать явно где % или _
Автор: RedCliphAloe
Дата сообщения: 05.08.2009 14:02

Цитата:
Установите свойство Options.Editing = false вашей TcxGridDBColumn с LookUpComboBox.

Нет, нужно чтобы редактировалось. Но редактировалось выбором пункта в выпадающем списке или при наборе символов. При этом нужно чтобы колесико не работало когда ячейка находится в режиме редактирования но выпадающий список убран. Или хотя бы чтоб колесико не работало если ячейка находится в режиме редактирования.
Автор: vladman
Дата сообщения: 05.08.2009 18:18
RedCliphAloe

Цитата:
Нет, нужно чтобы редактировалось.

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

Код: procedure <YourForm>.<YourTableView>InitEdit(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
AEdit: TcxCustomEdit);
begin
if AEdit is TcxLookupComboBox then
TcxLookupComboBox(AEdit).Properties.UseMouseWheel := False;
end;
Автор: RedCliphAloe
Дата сообщения: 06.08.2009 08:29
vladman, большое спасибо, помогло!
Автор: zzz78
Дата сообщения: 06.08.2009 11:36
Есть TcxDBTreeList, MultiSelect=true. Как пробежать по выделенным записям и получить значения из датасета?
Автор: FunCode
Дата сообщения: 06.08.2009 12:03
zzz78

Цитата:
Есть TcxDBTreeList, MultiSelect=true. Как пробежать по выделенным записям и получить значения из датасета?


Код: for i:=0 to cxDBTreeList1.SelectionCount - 1 do
ShowMessage(cxDBTreeList1.Selections[i].Values[1]);
Автор: zzz78
Дата сообщения: 06.08.2009 12:42
т.е. только по индексу поля?
а по имени поля нельзя?
Автор: volser
Дата сообщения: 06.08.2009 16:35
zzz78

Код:
function TreeListColumnByFieldName(ATreeList: TcxDBTreeList;
AFieldName: String): TcxDBTreeListColumn;
var
i: Integer;
ADBColumn: TcxDBTreeListColumn;
begin
Result := nil;
for i := 0 to ATreeList.ColumnCount - 1 do begin
ADBColumn := TcxDBTreeListColumn(ATreeList.Columns[ i ]);
if ADBColumn.DataBinding.FieldName = AFieldName then begin
Result := ADBColumn;
Break;
end;
end;
end;
Автор: Granmer
Дата сообщения: 07.08.2009 01:09
Подскажите, пожалуйста, в чём может быть проблема при установке 45 сборки от feandy на D2009? Компилять отказывается. Dcc32 в bin есть. Если руками компилить, добавляя каждую папку с сорцами в library path - компилится, но это долго и не удобно. Пробовал менять стандартные пути для bpl на: C:\Program Files\CodeGear\RAD Studio\6.0\bpl - результат тот же.
Автор: JohnSilver182
Дата сообщения: 07.08.2009 09:48
Hi
После того как поток завершит работу


Код: SuperProcess:= MySuperProcess.Create(self.pFIBDB_AG);
SuperProcess.FreeOnTerminate:=true;
SuperProcess.Priority:=tpLower;
SuperProcess.Resume;
Автор: volser
Дата сообщения: 07.08.2009 10:31
JohnSilver182
А какая разница чему равно свойство, если поток уже отработал?
Автор: JohnSilver182
Дата сообщения: 07.08.2009 11:13

Цитата:
А какая разница чему равно свойство, если поток уже отработал?


ДА я думал сделать типа

Код:
if ( SuperProcess.Terminated=false) then
begin
ShowMessage('Главный гипер-поток запущен . Необходимо завершить отключение главного гипер-поток вручную' );
exit;
end;

SuperProcess:= MySuperProcess.Create(self.pFIBDB_AG);
SuperProcess.FreeOnTerminate:=true;
SuperProcess.Priority:=tpLower;
SuperProcess.Resume;
Автор: volser
Дата сообщения: 07.08.2009 11:41
JohnSilver182
Где это проверяется? А если поток уже удален?
Цитата:
SuperProcess.FreeOnTerminate:=true;

Автор: JohnSilver182
Дата сообщения: 07.08.2009 11:43
volser

Да я сам запутался .

Просто если скажем юзер будет тыкать как макака в кнопку , и что там будет
Автор: vladman
Дата сообщения: 07.08.2009 11:50
JohnSilver182
volser

Цитата:
После того как поток завершит работу

А какое это отношение имеет к использованию DevExpress?
Автор: JohnSilver182
Дата сообщения: 07.08.2009 12:03

Цитата:

А какое это отношение имеет к использованию DevExpress?


LOL , я даун
Автор: ilrepin
Дата сообщения: 07.08.2009 12:50
Как правильно заполнять выпадающий список cxLookupComboBox? не BD!!!

пыталься так:

Код: LuCB.Properties.Grid.DataController.Values[LuCB.Properties.Grid.DataController.AppendRecord,0]:='***'
Автор: vladman
Дата сообщения: 07.08.2009 18:54
ilrepin

Цитата:
Как правильно заполнять выпадающий список cxLookupComboBox? не BD!!!

Не DB - это значит что cxLookupComboBox не сохраняет выбранное значение в DB.
Lookup же подразумевает что источником значений для выпадающего списка является DataSource. Может вам нужен cxComboBox? Тогда ваш код

Цитата:
LuCB.Properties.Items.Add('***');

Должен работать.
Автор: Granmer
Дата сообщения: 08.08.2009 13:47

Цитата:
Подскажите, пожалуйста, в чём может быть проблема при установке 45 сборки от feandy на D2009? Компилять отказывается. Dcc32 в bin есть. Если руками компилить, добавляя каждую папку с сорцами в library path - компилится, но это долго и не удобно. Пробовал менять стандартные пути для bpl на: C:\Program Files\CodeGear\RAD Studio\6.0\bpl - результат тот же.

На D2007 поставились нормально, без ошибок. На форуме уже обсуждались подобные проблемы с установкой на 2009, но те решения мне не помогли. Может проблема в версии 2009 и установленных апдейтах? Отпишитесь, плиз, у кого работает - какая версия и апдейты.
Автор: vladman
Дата сообщения: 08.08.2009 22:37
Granmer

Цитата:
Отпишитесь, плиз, у кого работает - какая версия и апдейты.

CodeGear™ Delphi® 2009 Version 12.0.3420.21218
Delphi and C++Builder 2009 Update 3
Delphi and C++Builder 2009 Update 4 (Database Pack Update)
DevExpress v.6.45
При установке DevExpress никаких проблем не возникло. Ищите проблему в настройках путей. Попробуйте в диалоге списка директорий для *Library path* выполнить команду *Delete Invalid Paths*

Добавлено:
И еще.
Проверьте файл dcc32.cfg в bin, а также его содержимое, а именно, есть ли строка
-u"C:\Program Files\CodeGear\RAD Studio\6.0\lib";
Автор: X11
Дата сообщения: 09.08.2009 13:21
Даже не знаю, в каком направлении копать.
Краткое описание. Нужно в гриде показать имена файлов с путями и иконки типов файлов, ну там экселевскую иконку или винраровскую. Прикрутил грид к таблице, в таблицу прекрасно грузятся имена файлов с путями. Создал в гриде отдельное, непривязанное к базе поле типа Image. А вот как в нём показать пиктограмму.... Думаю, что получить пиктограмму типа файла будет не сложно.

Проблема с выводом её в гриде. В каком событии и как это вообще делается?


D2007, Fibplus, Firebird, Dev6.43.
Автор: FunCode
Дата сообщения: 09.08.2009 17:11
X11

Цитата:
Проблема с выводом её в гриде. В каком событии и как это вообще делается?

1. Тип файла хранится тоже в таблице ?
2. К гриду подключен Table или Query ?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

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


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