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

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

Автор: golkanavt
Дата сообщения: 06.10.2005 19:33
inigo

Цитата:
Насколько удалось самостоятельно разобраться, "чекать" дочерние и родительские узлы приходиться самому. Написал две процедурки: одна рекурсивная для "детей" и одна обычная для "родителей".


поделись с народом, может кому пригодится, у меня одно время тоже была подобная заморочка, потом переделал интерфейс и проблема отпала
Автор: Darl
Дата сообщения: 11.10.2005 11:07
У cxGridTableView->LookAndFeelPainter есть кучу методов типа DrawButton, DrawExpandButton и т.п. Так вот, кто-нибудь в курсе, что за 1ый параметр в этих методах TMetaClass *, что там надо передавать, чтобы ни пробовал - не пашет.

P.S. Этот параметр присутствует в билдере, в Делфи нету.
Автор: Vitus_Bering
Дата сообщения: 11.10.2005 20:27
Есть один cxGrid с двумя cxGrid1DBTableView, которые не связаны между собой.
Задача: в RunTime переключаться с одного на другой cxGrid1DBTableView.
Подскажите, пожалуйста, как это можно сделать?
Автор: Darl
Дата сообщения: 11.10.2005 21:08
Vitus_Bering
cxGridLevel->GridView = нужный грид
сxGrid->ActiveView = нужный грид
Автор: Vitus_Bering
Дата сообщения: 12.10.2005 10:05
Darl
Спасибо, но у меня работает
НужныйLevel.Active := true;
Автор: Darl
Дата сообщения: 12.10.2005 14:29
Vitus_Bering
Можно и так, если у тебя Level-ов больше одного.
Автор: Vudr
Дата сообщения: 12.10.2005 15:13
Вопросец возник с новыми девками от 26-го.
Я работаю с ExtLookupCombo.
Для них делаю гриды. И использую в них фильтрацию.
Раньше при смене фильтра в присобаченном гриде значение в поле комбобокса сбрасывалось, если в новый отфильтрованный набор он не входило.
Щас значение остается, даже если в гриде его уже нет.
Ктонить наталкивался на такую проблему?
Автор: Kr_Alex
Дата сообщения: 14.10.2005 10:26
Есть ли стандартное средство отключить в cxGrid-е возможность вставки, удаление записи при нажатиии на Insert, Delete?
Автор: golkanavt
Дата сообщения: 14.10.2005 11:13
Kr_Alex
у грида как такового - нет. у View - смотри свойство OptionsData
Автор: Kr_Alex
Дата сообщения: 14.10.2005 11:19
golkanavt
Я и имел в виду View, дело в том что в OptionsData если поставить deleting, inserting... false, то в навигаторе - кнопки становятся неактивными, а они мне нужны активными (своя обработка)
Автор: Darl
Дата сообщения: 14.10.2005 12:36
golkanavt

А что мешает использовать cxView->NavigatorButtons->OnButtonClick.
Автор: Kr_Alex
Дата сообщения: 14.10.2005 12:40
Darl
Так и делаю, а как отключить нажатие клавиш Insert....?
Автор: userman
Дата сообщения: 14.10.2005 14:30
Подскажите плиз как в TreeList сделать поиск по быстрым клавишам. На сайте DevEx есть пример но, там используют KeyPress, e.KeyCode и соответственно поиск работает только по первой букве. А как собрать их в строку или подскажите другую реализацию.
Автор: Alex47
Дата сообщения: 14.10.2005 14:36
Kr_Alex
Может так попробовать:
procedure TForm1.cxGrid1TableView1KeyDown(Sender: TObject; var Key: Word;
Shift: TShiftState);
begin
if ((Key = VK_INSERT) or (Key = VK_DELETE)) then
begin
Key := 0;
....
end;
Автор: Bol970
Дата сообщения: 14.10.2005 16:41
Здравия желаю All.
Подскажите можно-ли в TcxTreeList-e
выводить text[I] ноды жирным стилем.

Автор: Darl
Дата сообщения: 14.10.2005 21:15
Kr_Alex

ADone используй:

The ADone parameter specifies whether the navigator should perform default actions in response to a button click. If you have implemented all the required actions in the OnButtonClick event handler and default processing is not required, set the ADone parameter to True. In this case, the default actions are not invoked. If the parameter value, which is initially False, is not changed, the control will perform default actions after the event handler has been executed.
Автор: Alex47
Дата сообщения: 14.10.2005 23:03
userman
Если правильно понял проблему, то можно сделать так.
1. Берем ExpressQuantumTreeList 4\Demos\Delphi\SimpleTreeDemo
2. Кладем на форму cxTextEdit1 и делаем ему обработчик OnChange:
procedure TSimpleTreeDemoMainForm.cxTextEdit1PropertiesChange(
Sender: TObject);
var
Node: TcxTreeListNode;
begin
inherited;
Node := cxDBTreeList.FindNodeByText(cxTextEdit1.Text, cxDBTreeListNAME, nil, False, True);
if Node <> nil then
begin
Node.Expanded := True;
Node.Focused := True;
end;
3. При наборе текста в cxTextEdit1 будет фокусироваться соответствующий Node в колонке cxDBTreeListNAME.
Сдесь дана только сама идея использования FindNodeByText на простом примере.

4. Если в этом же Demo для cxDBTreeList установить OptionsBehavior.IncSearch = True
и OptionsBehavior.IncSearchItem = cxDBTreeListNAME, то Incremental Search
будет работать по колонке cxDBTreeListNAME (как и в пункте 2).
Автор: xokc
Дата сообщения: 16.10.2005 11:30
Bol970
см. событие OnGetContentStyle
Автор: shuhrat25
Дата сообщения: 17.10.2005 22:52
VadimLou

Пришли по подробнее про исправления для DevEx от 26 августа 2005 от траблов работы с датами (и немного другого):
на Email или в Форум зарние большое спасибо !

shuhrat10@mail.ru
Автор: VadimLou
Дата сообщения: 18.10.2005 14:55
>Пришли для DevEx от 26 августа 2005 от траблов с датами (и немного другого):

_хттп://rapidshare.de/files/6433681/DevEx_2005.09.29.fixes.001.zip.html

_хттп://freefilehosting.net/file/?id=r9/9m6va

изменения выделены блоками:

{+}
изменённый код
{+.}
Автор: shuhrat25
Дата сообщения: 19.10.2005 00:12
VadimLou

что мне теперь делать напиши по подробнее...
Please////
Автор: Kr_Alex
Дата сообщения: 19.10.2005 08:11
Alex47
Да, сделал так (только раз уж на то пошло, т.е. нет стандартного свойства отключить, в свою обработку еще туда написал).
Автор: alexist
Дата сообщения: 19.10.2005 08:25
Я повозился с Руссификацией DevExpress PrintingSystem, и выроде бы неплохо получилось. Многое перевел.
Перевод делался на основе модуля dxPSRes от версии Printing System Suite 3.4.1
Если есть желающие проверить качество перевода, то смотрите линк ниже.
Хотелось бы поучить обратно подправленный вами модуль, чтобы потом уже собрать общий сборный вариант.
Мое мыло указано в ПМ.

Залил свой вариант на _http://rapidshare.de/files/6469679/dxPS_Loc.zip.html
Автор: VadimLou
Дата сообщения: 19.10.2005 17:56
>shuhrat25>что делать

Что хошь ... то и делай - демократия ...

Можешь заменить исправленные файлы и пересоберать DevEx либы.
Если влом собирать 1000 пакетов можешь собрать 2 комплексных, предварительно закоментарив в них то чего не имеешь ...
Автор: inigo
Дата сообщения: 21.10.2005 10:02

Цитата:
inigo
Цитата:Насколько удалось самостоятельно разобраться, "чекать" дочерние и родительские узлы приходиться самому. Написал две процедурки: одна рекурсивная для "детей" и одна обычная для "родителей".

поделись с народом, может кому пригодится, у меня одно время тоже была подобная заморочка, потом переделал интерфейс и проблема отпала


Имеем:
tlData: TcxTreeList;

Первая колонка:
Properties = CheckBox
AllowGrayed = True

Обработчик события для tlData OnEditValueChanged:
procedure TForm1.tlDataEditValueChanged(Sender: TObject;
AColumn: TcxTreeListColumn);
var
tnNode: TcxTreeListNode; // Редактируемый узел
begin
inherited;

if (AColumn.ItemIndex <> 0) then Exit;

tnNode := tlData.FocusedNode;
tnNode.EndEdit(false);
if (tnNode.Values[0] = null) then
tnNode.Values[0] := true;
tnNode.EndEdit(false);

// Установить значения для дочерних узлов
nSetChildNodeState(tnNode);

// Установить значения для родительских узлов
nSetParentNodeState(tnNode);
end;

procedure TForm1.nSetChildNodeState(tnNode_: TcxTreeListNode);
var
tnChild: TcxTreeListNode; // Дочерний узел
begin
// Установить значения для дочерних узлов
tnChild := tnNode_.GetFirstChild();

while Assigned(tnChild) do begin
tnChild.Values[0] := tnNode_.Values[0];
tnChild.EndEdit(false);
nSetChildNodeState(tnChild);
tnChild := tnNode_.GetNextChild(tnChild);
end; // while
end;

procedure TForm1.nSetParentNodeState(tnNode_: TcxTreeListNode);
var
tnParent: TcxTreeListNode; // Родительский узел
tnChild: TcxTreeListNode; // Дочерний узел
iTrue: integer; // Количество помеченных дочерних узлов
iFalse: integer; // Количество непомеченных дочерних узлов
begin
// Установить значения для родительских узлов
tnParent := tnNode_.Parent;

while Assigned(tnParent) do begin
iTrue := 0;
iFalse := 0;
tnChild := tnParent.GetFirstChild;

while Assigned(tnChild) do begin
if (tnChild.Values[0] = true) then Inc(iTrue);
if (tnChild.Values[0] = false) then Inc(iFalse);
tnChild := tnParent.GetNextChild(tnChild);
end; // while

if (tnParent.Count = iTrue) then
tnParent.Values[0] := true
else
if (tnParent.Count = iFalse) then
tnParent.Values[0] := false
else
tnParent.Values[0] := null;

tnParent := tnParent.Parent;
end; // while
end;

Автор: PetrovD
Дата сообщения: 21.10.2005 16:15
Alexist, просто преклоняюсь перед твоим мужеством по поводу локализации printing system. Я сам попытался, но сломался строке на 150-й. Обязательно посмотрю перевод и если что-то исправлю, то отпишусь, сейчас, у меня, к сожалению, горит 3 проекта и времени совсем-совсем нет.
Автор: alexist
Дата сообщения: 25.10.2005 07:35

Цитата:
Я повозился с Руссификацией DevExpress PrintingSystem, и выроде бы неплохо получилось. Многое перевел.
Перевод делался на основе модуля dxPSRes от версии Printing System Suite 3.4.1
Если есть желающие проверить качество перевода, то смотрите линк ниже.
Хотелось бы поучить обратно подправленный вами модуль, чтобы потом уже собрать общий сборный вариант.
Мое мыло указано в ПМ.

Залил свой вариант на _http://rapidshare.de/files/6469679/dxPS_Loc.zip.html


Что-то не слышно отзывов от тех, кто слил руссификатор.
Просил же отозваться. Хочется сделать качественный перевод.

Добавлено: PetrovD С нетерпением жду отзывов.
Автор: Vudr
Дата сообщения: 25.10.2005 19:03
Кто сталкивался
Если в версии от 26.08.05
после изменения значения в колонке с встроенным котролом checkbox
в событии FocusedRecordChanged грида вызвать Application.ProcessMessages
будет AV. Если значение поля не менять то все работает.
Автор: Vudr
Дата сообщения: 26.10.2005 10:38
Разобрался.
Надо в методе EditValueChanged
вызвать Sender.DataController.Post

Надо заметить это весьма очевидно.
Интересно девовцы хоть тестят то, что они ваяюют!?
Автор: xokc
Дата сообщения: 26.10.2005 21:11
отправь им багофикс - они тебе за это свои сорцы подарят

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

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


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