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

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

Автор: apnss
Дата сообщения: 14.10.2012 16:16
Приветствую коллеги

с девками работаю всего неделю. столкнулся с проблемой. для начала опишу ситуацию:

сделал cxGrid c кастомными вью, вьюинфо. в дизтайме настраивается грид (как обычно) см. рис1

цель: отображать детали не на pagecontrol а рядом.

реализация:
при запуске добавляем уровень (без pagecontrol) и рисую на нем 2 грида и клонирую в них гридДБвью созданные в дизтайме другие детайллевелы убиваю получается такой вид (см. рис.2 - верхний грид)

детали планирую фильтровать в DataControllerFilterRecord соответствующей гридДБвью взяв значение ключей из гридДБвью в первом уровне основного грида.

получается странный мастер-детейл без связи по DataRelation

проблема:
все детальклоны смотрят на 1 датасорс и при попытке добавить запись благодяря даталинкам визуально создается запись во всех гридах, ДАЖЕ ОТФИЛЬТРОВАННЫХ что не есть гуд (см. рис 2)

при сохранении записи фильтры срабатывают.

за сим варианты:
1. гасить нотификацию всем гридам кроме подфокусного (хз как но думаю можно )
2. детальклоны подключать не прямо к основному датасорсу а через провейдер напр. ClientDataset
3. заставить детальгриды думать что они IsDetailMode = true , но как сделать master-detail между двумя независимыми cxGrid'ами пока не понял - уж очень много всего в исходниках грида. ведь при обычной работе гида в master-detail подобного не наблюдается - значит сделать можно.

может кто посоветует в каком направлении можно копать. или вообще можно по другому сделать

рис 1




рис 2

Автор: fortezza
Дата сообщения: 16.10.2012 07:45
Добрый день,
есть ли функция для cxGridTableView чтобы сбросить текущую сортировку?

Автор: mdid
Дата сообщения: 16.10.2012 07:51
fortezza
сортировок может быть куча, хоть на каждой колонке. Посему просто пробегитесь циклом и выставите SortIndex в -1
apnss
а вы для начала пролистайте справку и побалуйте себя демками. Обратите внимание на класс DataController и на то, как создается Master-Detail
Автор: X11
Дата сообщения: 16.10.2012 09:06
<cxGridTableView>.DataController.ClearSorting(False);

Добавлено:
Есть cxVerticalGrid. Во время дизайна программист может вызвать редактор грида или редактор Layout.
Можно ли как-то вызвать эти 2 редактора во время исполнения программы (в runtime)?
Нужно дать возможность пользователю редактировать cxVerticalGrid: скрывать и показывать строки (rows), менять их местами.
Или придётся изобретать лисапет?
Автор: salexn1
Дата сообщения: 16.10.2012 13:42
X11
ShowVerticalGridLayoutEditor в модуле cxVGridLayoutEditor

а вот редактор не удастся так - нужен IDesigner
Автор: X11
Дата сообщения: 16.10.2012 16:44
salexn1, спасибо!!!!!

А вот теперь дошёл до момента сохранения и восстановления видимости, порядка и подчинённости строк.
Видимость-то понятно - Visible. Подчинённость не сильно волнует пока что. А вот не могу найти у строк что-то типа Index. Как сохранить и восстановить порядок rows?

Добавлено:

Цитата:
а вот редактор не удастся так - нужен IDesigner


я использую FormDesigner и RTTI Inspector отсюда: http://www.greatis.com/delphicb/formdes/
но свойства строк не отображаются. Разбираюсь....
Автор: salexn1
Дата сообщения: 16.10.2012 18:57
X11
а сумневаюсь, что этот редактор подойдет...
Автор: tanaseduard
Дата сообщения: 17.10.2012 08:54
Есть Ribbon, на нем LargeButton. Как подсветить кнопку в нужный цвет.
Получилось только сделать Uo/Down но подсветка тянется с скина.
Автор: neznayka3
Дата сообщения: 17.10.2012 09:39
как узнать координаты контрола расположенного на TdxLayoutItem и показать под ним другой? это не работает:
Код: var
p: TPoint;
begin
p.X := te1.Left;
p.Y := te1.Top + te1.Height;
p := ClientToScreen(p);

g1.Top := ScreenToClient(p).Y;
g1.Left := ScreenToClient(p).X;
g1.Width := te1.Width;
g1.Visible := True;
end;
Автор: mcdie
Дата сообщения: 18.10.2012 11:08
Кто нибудь делал на основе TcxGridStdFooterMenu
кроме обычного списка (Сумма, Минимум, Максимум, Количество)
новую функцию Количество разных?
Автор: tanaseduard
Дата сообщения: 18.10.2012 21:56
Повторюсь, очень нужна помощь.
Есть Ribbon, на нем LargeButton. Как подсветить кнопку в нужный цвет.
Получилось только сделать Uo/Down но подсветка тянется с скина.
Автор: mcdie
Дата сообщения: 19.10.2012 13:55
neznayka3
Код: var
p: TPoint;
begin
p.x := 0;
p.y := 0;
p := dxLayoutItem1.Control.ClientToScreen(p);
end;
Автор: makz
Дата сообщения: 19.10.2012 15:19
mcdie
Если алгоритм нужен то вот:

Код:
i:=1;
while i<=n do
begin
for j:=n downto i+1 do
if a[j]=a[i] then
begin
for l:=j to n-1 do
a[l]:=a[l+1];
dec(n);
end;
inc(i);
end;
writeln('Разных чисел=',n);
Автор: makz
Дата сообщения: 20.10.2012 15:28
tanaseduard
_http://www.devexpress.com/Support/Center/p/AQ7473.aspx
Автор: tanaseduard
Дата сообщения: 20.10.2012 15:49
makz
Спасибо, за ссылку. Но там я уже был.
Она актуальная для компонентов 6 летней давности.
В новых версиях классы изменены и способ прорисовки тоже. Да и Ribbon там не отрабатывается.
Все равно спасибо.
Автор: mcdie
Дата сообщения: 22.10.2012 12:36
makz
Спасибо , вопрос решен и закрыт.
Пытался засунуть в событие OnSummary (DataController.FooterSummaryItems)
подменив расчёт Count (количество), на количество разных.
Автор: alsterkh
Дата сообщения: 24.10.2012 11:36
Добрый день! Столкнулся с проблемой в версии 12.1.5. В TcxGrid -> TcxGridDBTableView в предыдущей версии (11.2.6), чтобы отображались числа с заданным количеством знаков после запятой ставил Properties=CalcEdit, а в нем DisplayFormat=,0.00 и все работало. А в версии 12.1.5 перестало. Кто-нибудь знает как решать?
Спасибо.
П.С. В общем нашел решение: так было только по полям Currency, убрал в ДатаСете по полям птичку Currency и все опять работает )), теперь только перетыкать все надо.
Автор: makz
Дата сообщения: 27.10.2012 02:25
Получил пару проблем после перехода на 12.1.5 - перестало отображаться layoutview в детали, загючила CustomDrawDayHeader в cxscheduller. В общем пришлось откатится на 11.
Автор: exteris
Дата сообщения: 27.10.2012 11:46
Как обычно, одно лечат, другое калечат. У меня пока полет нормальный, заметил даже пару багов мной словленных поправили.
Автор: BlackVetal
Дата сообщения: 29.10.2012 06:31
alsterkh
makz
exteris
Я тоже поначалу думал - что одно лечат, другое калечат - но стало более строго с типами - проверяйте типы - возможно где-то несоответствие: у меня до 12 версии прокатовало в условиях (bool x == 0) теперь строго только (bool x == false)
Автор: salexn1
Дата сообщения: 29.10.2012 23:56
Добрый день(вечер)!
Кто как решал вопрос с мультиселектом в cxGrid. Я знаю,что можно выставить MultiSelect в опциях, но выделять таким образом не самое лучший вариант, имхо... Для некоторых пользователей проблема выделить при помощи ctrl+мышь несколько записей. Возможно кто-то уже придумал и "красиво" реализовал мультиселект с "птичками". Поделитесь, если не душит
Автор: dimm78
Дата сообщения: 30.10.2012 00:57

Цитата:
Добрый день(вечер)!
Кто как решал вопрос с мультиселектом в cxGrid. Я знаю,что можно выставить MultiSelect в опциях, но выделять таким образом не самое лучший вариант, имхо... Для некоторых пользователей проблема выделить при помощи ctrl+мышь несколько записей. Возможно кто-то уже придумал и "красиво" реализовал мультиселект с "птичками". Поделитесь, если не душит


Почитай у них на сайте про Unbound Column (поиск по Knowledge Base). Там как раз это описывается.

Например http://www.devexpress.com/Support/Center/Question/Details/A1095 + ссылки в конце статьи
Автор: VadimLou
Дата сообщения: 30.10.2012 05:08
dimm78
Пожалуй через InternalCalcFiled будет проще.
Автор: NatNiM
Дата сообщения: 30.10.2012 11:48
Здравствуйте.

Есть такая задача, необходимо реализовать отображение файлов в папке с помощью DevExpress TreeList, используя mvp. Пока сделать для winform, с дальнейшей реализацией для web. В демках есть хороший пример реализации файлового менеджера, но без использования mvp, используются события VirtualTreeGetChildNodes,VirtualTreeGetCellValue,GetStateImage,CustomDrawNodeCell - но это все отрабатывается на форме, можно ли переписать mvp. Или же данные события совсем не подойдут для загрузки дерева с использованием mvp?
Автор: salexn1
Дата сообщения: 30.10.2012 15:39
dimm78
Спасибо за ссылку конечно, но это 9 летней давности посты.
Судя по всему по-тиху забивают на VCL экспресовцы.
Автор: dimm78
Дата сообщения: 31.10.2012 18:56

Цитата:
Спасибо за ссылку конечно, но это 9 летней давности посты

А какая разница какой давности?))) У меня на последних Девах все это прекрасно работает)))
Автор: cybersevmagic
Дата сообщения: 31.10.2012 22:07
господа, а лучше соединять таблица в запросах при выводе в грид или кучу вычисляемых полей делать?
Автор: salexn1
Дата сообщения: 31.10.2012 23:05
dimm78
Просто ссылки все дохлые... (те которые внизу поста)

Так поделитесь с народом творчеством!
Автор: dimm78
Дата сообщения: 01.11.2012 01:12

Цитата:
dimm78
Просто ссылки все дохлые... (те которые внизу поста)

Так поделитесь с народом творчеством!


Код лень выдирать из проекта)))
Вот лови посвежее))) http://www.devexpress.com/Support/Center/Question/Details/Q415612 тут готовые работающие примеры есть)))
Автор: salexn1
Дата сообщения: 01.11.2012 08:27
dimm78
Спасибо!
То, что доктор прописал

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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