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

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

Автор: f3ka
Дата сообщения: 04.06.2009 07:49
JohnSilver182
для того чтобы установить разделитель надо у dxBarManager1Bar1 в окне "Structure" найти свойство ItemLinks, найти там нужный ItemLink и установить BeginGroup = True...
Автор: JohnSilver182
Дата сообщения: 04.06.2009 08:17
f3ka Прости дауна . Я окно не могу найти это .
Автор: f3ka
Дата сообщения: 04.06.2009 08:33

включить через меню View>Structure
Автор: SIgor33
Дата сообщения: 04.06.2009 08:49
Кто нибудь подскажет как использую
TdxDBLookUpTreeView
организовать в ней поиск, чтобы синхронизироать с выпадающим списком как в
TdxDBLookUpTreeView
пишешь например москва в дерево из списка показывает соотвествующий ему, продолаешь писать улица раскрываеться соотвествующий дочерний узел
Автор: MagistrAnatol
Дата сообщения: 04.06.2009 08:59
vladman
я думаю блоб поле с исходным кодом,но рассмотрю любые варианты если есть попроще,
батник однозначно не пройдет - в коде вызов форм и тд.
возможно сварганить дельку а в базе хранить имя функции,но тоже не совсем удобно,
будет много проблем з вызовом форм,станет вопрос - заганять их в дельку или же в самой проге и делать обмен между дельку и прогой через переменную - непрактично,так как ето форма с дбедитами
короче нужен совет.
кста vladman - ето заморочка к той проге шо я скидывал.
Просто я создал типовый набор операций,но он может увеличиватся, и шоб постоянно не добавлять кнопки я подумал - список операций и так хранится в базе- почему б не создавать кнопочки в динамике и не прикручавать им обработчик.
Операции разбиваются на однотипные групи - будет две или три формы для ввода даных, разные названия операций ну и некоторые параметры.
У меня на работе есть одна прожка написанная на клипере(1 екзешник~ 800 кил) есть два варианта баз - бидейс и файребирд.В екзешнике токо формы,- все процедуры загнаны в мемо поля.Вот я и решил стырить идею , токо пока не знаю как реализовать
- нужен совет
Автор: f3ka
Дата сообщения: 04.06.2009 09:17
MagistrAnatol
а на клиппере в мемо-полях исходный код? клиппер умеет на ходу компилить куски кода? если так тогда можно попробывать какой нибудь скриптовый движок поюзать...
Автор: JohnSilver182
Дата сообщения: 04.06.2009 09:45
f3ka Спасибо . В D7 это ObjectTreeView . А вот так без подсказки это же рехнешся !!
Обычно в ToolBar бывает фича ADDseparator .
Автор: vladman
Дата сообщения: 04.06.2009 10:18
HighTower

Цитата:
как сделать скролл cxTreeView при перетаскивании элементов?


Цитата:
пытался сделать так:

Можно попроще, обратив внимание на свойство TreeNode.MakeVisible.
Например:

Код: <YourcxTreeView>.DragMode := dmAutomatic;
...
procedure <YourForm>.<YourcxTreeView>DragOver(Sender, Source: TObject; X, Y: Integer; State: TDragState; var Accept: Boolean);
var
vFocusedTreeNode: TTreeNode;
vPrevVisibleTreeNode: TTreeNode;
vNextVisibleTreeNode: TTreeNode;
begin
vFocusedTreeNode := TcxTreeView(Sender).GetNodeAt(X, Y);
if not Assigned(vFocusedTreeNode) then Exit;
vPrevVisibleTreeNode := vFocusedTreeNode.GetPrevVisible;
vNextVisibleTreeNode := vFocusedTreeNode.GetNextVisible;

if (Y < 15) and Assigned(vPrevVisibleTreeNode) then vPrevVisibleTreeNode.MakeVisible;
if (TcxTreeView(Sender).Height - Y < 15) and Assigned(vNextVisibleTreeNode) then vNextVisibleTreeNode.MakeVisible;
if vFocusedTreeNode.HasChildren then vFocusedTreeNode.Expand(False);
end;
Автор: Meister Floh
Дата сообщения: 04.06.2009 11:49
Господа, просидевши почти сутки, так как раньше никогда не занимался потоками, решил проблему вывода прогресс-бара при выполнении запроса.. Использовал: TThread, TCriticalSection и одно определенное собой сообщение.. Кому будет интересно могу выслать на мыло
Автор: zzz78
Дата сообщения: 04.06.2009 12:14


Цитата:
а если все таки поставить не нулевую длину, а 1 пиксель? и запретить изменение размеров...


С единичкой тоже что и с нулем Как бы только добраться до связи между ячейкой и записями в датсете?
Автор: MagistrAnatol
Дата сообщения: 04.06.2009 13:58
f3ka
да в мемо полях исходный код,процедуры расчетов и тд.,насчет того что клипер может на лету компилировать сомневаюсь,шибко он древний.Скорее всего в самой проге сваргенен скриптовый модуль .Прогу писал не я , - я токо хочу реализовать идею.
Ето практически идеальный способ организации обновлений, обновить базу проще и быстрее с точки зрения закачки обновы в виде скрипта, екзешник будет менятся ну очень редко
Автор: jicoff
Дата сообщения: 04.06.2009 18:40
Meister Floh

А что там собственно показывать, все равно заранее не известно сколько долгий запрос будет выполняться?
Автор: X11
Дата сообщения: 04.06.2009 23:18
Вопрос связан с локализацией cxGrid`а и компонентом cxLocalizer.
Так вот. Если тип колонки checkbox, то в выпадающем фильтре в заголовке колонки мы видим не Да/Нет, а True/False. В самом ini-файле я не нашёл где перевести. Кто подскажет, что дописать требуется в ini-файл перевода?
Автор: zzz78
Дата сообщения: 05.06.2009 09:14
В Properties есть свойства: DisplayChecked и DisplayUnchecked. Может они вам помогут?
Автор: f3ka
Дата сообщения: 05.06.2009 09:28
zzz78
это не совсем то что хотел X11... ведь если грид один и одна колонка, то это нормально так поправить... а если гридов много и колонок много-много, то это не прокатит...
X11 проверь эти константы
cxSEditCheckBoxChecked
cxSEditCheckBoxUnchecked
cxSTextTrue
cxSTextFalse
Автор: Meister Floh
Дата сообщения: 05.06.2009 11:19
vladman и снова здравствуйте, не подскажете как вот сие:
вставить в TdxRibbonPopupMenu.. В том смысле, чтобы SpinEdit рядочком сидели, а не в колонку
Автор: X11
Дата сообщения: 05.06.2009 12:07

Цитата:
cxSEditCheckBoxChecked
cxSEditCheckBoxUnchecked
cxSTextTrue
cxSTextFalse

Нет в файле ничего такого. Выяснил, что cxSEditCheckBoxChecked и cxSEditCheckBoxUnchecked отвечают за перевод выпадающем фильтре колонки грида. Спасибо большое.
Автор: brookson
Дата сообщения: 05.06.2009 13:42
Добрый день!

Может кто в курсе, умеет ли PivotGrid выводить данные в ячейке в несколько строк? Я в том смысле - "умеет ли уже". Помню, что не умел.
Автор: HighTower
Дата сообщения: 06.06.2009 12:47
vladman

Цитата:
Можно попроще, обратив внимание на свойство TreeNode.MakeVisible.

спасибо за наводку!
Автор: Meister Floh
Дата сообщения: 07.06.2009 11:48
vladman А не подскажете как в рибонах менять свойство Enabled не по одному элементу, а скажем всех элементов принадлежащих группе или табу?


Добавлено:
И еще один вопрос.. Есть 2 TcxDBTreeList привязанные к одному датасет в обоих SmartLoad = true и SmartRefresh = false, т.к кол-во записей достаточно большое.. естественно проходя до нужной ветки в одном, хотелось бы чтобы во втором курсор позиционировался на выбранную в первом TreeList запись (т.е. чтобы они вели себя так, как без включенного SmartLoad), какое событие отработать, чтобы сместить указатель во втором TcxDBTreeList?
Автор: SIgor33
Дата сообщения: 08.06.2009 08:31
Вот такой вопросик: есть у меня TcxDBLookupComboBox) при отсутствие записи в словаре занашу туда такой процедурой

procedure TFormDocData.OVDPropertiesNewLookupDisplayText(Sender: TObject;
const AText: TCaption);
begin
try
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).ReadOnly:=false;
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).Insert;
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).FieldByName('Name').AsString:=AText;
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).Post;
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).ReadOnly:=true;
((Sender as TcxDBLookupComboBox).Properties.ListSource.DataSet as TMSQuery).Refresh;
(Sender as TcxDBLookupComboBox).SelText:=AText;
finally
end;

end;
Все замечательно работает. Пытаюсь тоже сделать для TcxGrid у которого соотвествующий элемент управления TcxDBLookupComboBox) пишет ошибка класса
Автор: JohnSilver182
Дата сообщения: 08.06.2009 08:31
dxLayoutControl1Group1 - не совсем еще понял

На одной dxLayoutControl1Group1 трудно расположит

Group1
Group2 Group3

Group3 - налазит справа на Group1. Может Сплиттером сделать ??
Автор: f3ka
Дата сообщения: 08.06.2009 08:41
JohnSilver182
сделай так

Код:
|---------------------------------|
|group1 |
|---------------------------------|
|group2 |
||--------------|----------------||
||group3 |group4 ||
||--------------|----------------||
|---------------------------------|
Автор: JohnSilver182
Дата сообщения: 08.06.2009 08:42
f3ka ты великий Шаман просто !!!!


Добавлено:
А я тут у группы экспериментировал с AlignHorz , AlignVert и AutoAlign . Вобще не понял на что они влияют .
Автор: lavren
Дата сообщения: 08.06.2009 10:19
Есть таблица, в таблице есть поле 'Status'. Нашел в примерах как окрасить строки таблицы в зависимости от значения поля 'Status':

Код: procedure TMainForm.cxGrid1DBTableView1StylesGetContentStyle(
Sender: TcxCustomGridTableView; ARecord: TcxCustomGridRecord;
AItem: TcxCustomGridTableItem; out AStyle: TcxStyle);
begin
case ARecord.Values[2] of
0:AStyle:=cxStyle2;
1:AStyle:=cxStyle3;
2:AStyle:=cxStyle4;
else AStyle:=cxStyle1;
end;
end;
Автор: f3ka
Дата сообщения: 08.06.2009 10:23
lavren
можно например в ARecord.Values[2] написать ARecord.Values[<ColumnNameStatus>.ItemIndex]
Автор: JohnSilver182
Дата сообщения: 08.06.2009 11:35

Цитата:
сделай так

Код:

|---------------------------------|
|group1 |
|---------------------------------|
|group2 |
||--------------|----------------||
||group3 |group4 ||
||--------------|----------------||
|---------------------------------|


у group2 поставь свойство Hidden = true


Хмм . тогда Group4 будет справа на обе уже группы налазить
Автор: f3ka
Дата сообщения: 08.06.2009 11:59
тяжело объяснить словами... тут надо руками показывать... если координация мышки нарушена то конечно не получиться ничего... там же все очень легко и понятно, главное понимать что именно должно получиться и как оно вообще работает!
уф...
если сначала были созданы 2 группы: Group1 и Group2, затем у Group2 установлено Hidden = true - это не верный ход событий... надо создать 4 группы, затем вытащить группу1 сначала, затем вытащить ниже группу2, затем группу3 ВЫТАЩИТЬ ВНУТРЬ ГРУППЫ2, затем группу4 ВЫТАЩИТЬ ВНУТРЬ ГРУППЫ2 ПРАВЕЕ ГРУППЫ3...
при работе с дизайнером LayoutControl будут отображаться места куда будет положена выбранная группа... вот здесь то и необходима правильная координация...
Автор: FunCode
Дата сообщения: 08.06.2009 12:18
SIgor33

Цитата:
Все замечательно работает. Пытаюсь тоже сделать для TcxGrid у которого соотвествующий элемент управления TcxDBLookupComboBox) пишет ошибка класса

Да в принципе невнимательность - в TcxGrid Sender не TcxDBLookupComboBox,
а TcxLookupComboBox:

with (Sender as TcxLookupComboBox) do begin
with (Properties.ListSource.DataSet as TMSQuery) do begin
ReadOnly:=false;
Insert;
FieldByName('MilitaryManagementOrganName').AsString:=AText;
Post;
ReadOnly:=true;
Refresh;
end;
SelText:=AText;
end;
Автор: ZalivkoDenis
Дата сообщения: 08.06.2009 12:48
Доброго времени суток всем.
Опять заработался, и, чуствую -- подклинило.
1. Есть у меня панелка, а не ней (сверху вниз) cxGroupBox(alTop), cxSplitter(alTop), cxGroupBox(alTop), cxSplitter (alTop), cxGroupBox (alClient). Соотвественно, сплитерам назначены соотвествующие Control, но, блин в рантайме сплиттеры отображаются друг за другом . Где копнуть?
2. Хоть убей, всё облазил, не могу найти где у бара отключается хрень, за которую его (бар) таскать можно (использую скины)?

Пасиб.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

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


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