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

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

Автор: duce2
Дата сообщения: 14.10.2009 09:44
Figaro2000
спасибо, фактически тогда можно и в cds писать. нет, там только просмотр и возможность отбора.

Кстати, я вижу, что можно через GetDetailDataController пробежаться после выбора данных по master view, и выставить значение нужного поля по данным из detail, но к таким измененным данным потом невозможно применить фильтр, в списке значений в фильтре новые данные появляются, но фильтр не работает. Может кто-нибудь подсказать, есть ли возможность с этим справиться?
Автор: sldaac
Дата сообщения: 14.10.2009 10:27

Цитата:
добрый день. подскажите, пожалуйста, как в гриде с двумя уровнями (master-detail) можно отфильтровать данные из вернего уровня на основании данных из дочернего. (например один датасет для верхнего уровня с шапками накладных, второй - для нижнего с позициями накладных, нужно допустим не отображать все накладные, где, например, среди позиций присутствует такая-то.
запросом не выйдет, особые условия.


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

Select from tableMaset A
inner join TableDetal B on (a.id=b.id and b.номерпозиция<>ЗначениеИЗКомбокса)

это вот твой запрос для мастераДатаСет
Автор: SANiMirrorOfLight
Дата сообщения: 14.10.2009 12:54
Подскажите, плз, как в цикле перебрать столбцы cxGrid, не могу придумать как обратится к ихним свойствам.
Автор: volser
Дата сообщения: 14.10.2009 13:03
SANiMirrorOfLight
Как пробовали? К каким свойствам не получается достучатся?
Автор: rdenk1
Дата сообщения: 14.10.2009 13:08
И еще по поводу установки - инсталишь package, он тебе говорит что типа все норм, компонент установлен, а на вкладке его нет. И в Component|Configure palette тоже нет. Хотя все необх. файлы (dcu, bpl и т. д.) есть. Пути в библиотеке также есть.
У меня в даный момент только 7 вкладок:
Express master View с 1 компонентом
DevExpress с 33 компонентами
ExpressBars с 9
Express Editors 6 с 33
Express DBEditors 6 с 32
Express Utilities с 15
ExpressOrgChart с 2 компонентами.

Но все заинсталено. А Quantumgrid например нет. И многого другого нет.
Автор: X11
Дата сообщения: 14.10.2009 13:17
Ага, вот все намучаются с установкой девок , потом поймут, что не нужно было играться с перевыкладкой инсталлятора от feandy , звыняйте, наболело.
Автор: rdenk1
Дата сообщения: 14.10.2009 13:25

Цитата:
Ага, вот все намучаются с установкой девок , потом поймут, что не нужно было играться с перевыкладкой инсталлятора от feandy , звыняйте, наболело.

Я не помню, какой инсталлятор я там использовал, но такая проблема была еще до его использования.
А где вообще скачать нормальный DevExpress?
Автор: SANiMirrorOfLight
Дата сообщения: 14.10.2009 13:28
volser

Мне нужно менять свойства Visible у столбцов, сделать это можно так:
cxGrdMakerDBTblVwCODE_MAKER.Visible := Boolean(cxChckCmbBxMakerGridParam.States[0])

Хочется реализовать при помощи цикла, чтоб не писать на каждый столбец данный код.
Автор: TORSER7
Дата сообщения: 14.10.2009 15:28
SANiMirrorOfLight

Я присваиваю Tag колонок уникальное значение.
При необходимости отыскиваю компонент с нужным Tag,а далее дело техники:

((TcxGridDBColumn *)Components[i])->...
Автор: volser
Дата сообщения: 14.10.2009 15:43
SANiMirrorOfLight
Для этого есть коллекция колонок cxGrdMakerDBTblVw.Columns.
Автор: Vadim153
Дата сообщения: 14.10.2009 19:53
В cxNavigator-е возможно отображение только картинки?
Или вместе с тектом можно прикрутить?
Автор: SANiMirrorOfLight
Дата сообщения: 14.10.2009 20:09
volser

Большое спасибо за совет. //както упустил я columns из виду

TORSER7

Если можно, дайте ссылочку чтоб прочитать пто TAG и как с ним работать, спасибо.
Автор: AK_666
Дата сообщения: 15.10.2009 01:22
Третий день бьюсь:
D9 DevEx46 /Interbase/:

В базе:
Counters(ID int, sName:varchar(50), bCalculated numeric(1,0))
Indication(ID int,CounterID int, iValue int, dWhen : DATE)
Rate(ID int, CounterID int, dWhen DATE, fRate:float)

Вычисляемые:
Counters:
SUM float = функция создающая в рантайме TIBQuery c select из вьюшки которая использует Indication и Rate

Indication:
Rate = функция создающая в рантайме TIBQuery c select из вьюшки которая использует Rate
Prev = функция создающая в рантайме TIBQuery c select из вьюшки которая использует сам Rate
cValue = (iValue - Prev) *Rate

работа непосредственно с БД и таблицами выполена, все работает как надо.

Теперь: Использую cxGrid:

_object dbgMain: TcxGrid
__object lvCounters: TcxGridLevel
___GridView = tvCounters
___object lvIndication: TcxGridLevel
____GridView = tvIndication
___object lvRate: TcxGridLevel
____GridView = tvRate
__end
_end

как заставить показать (пересчитать) fkCalculated в Counters когда пользователь изменил данные в Rate ?

что пробовалось:
- <таблица>.Resync где <таблица> - Counetrs и Indication = вылет по Запись не найдена и аксесс виолэйшн
- tvCounters.DataController.RefreshExternalData; - вылет
- tvCounters.ViewData.RefreshRecords; - ничего не меняется
- Counters.Refresh - вылет.

Если НЕ использовать cxGrid (т.е. все таблицы разложить по всей форме приложения) - проблем нет.

я подозреваю, что когда пытаюсь передёрнуть вышестоящий грид, текущий теряет фокус.

Ктонить знает куда копать или чем себя стукнуть?
Автор: vladman
Дата сообщения: 15.10.2009 01:28
Chukotka

Цитата:
Блин, устал бороться с DockingLib
Большая просьба - кто-то может проверить работу на devx версии 46?

На .46, похоже, ничего не изменилось касательно вашей проблемы, если я ее (проблему) правильно понял. Но ее можно легко решить -
попробуйте при активации приложения (например обработчик onActivate компонента TApplicationEvents) выполнить следующее:

Код: if Assigned(dxDockingController.ActiveDockControl) then
dxDockingController.ActiveDockControl.FloatForm.BringToFront;
Автор: SerBUser
Дата сообщения: 15.10.2009 01:43
Подскажите пожалуйста - девовский грид может использоваться не только в связке с датасетом, но и как обычный грид? В связи с этим вопрос - как программно добавлять в грид данные - не могу понять (типа как в обычном гриде Grid.Cells[a,b]='......')?
Автор: vladman
Дата сообщения: 15.10.2009 01:57
sldaac

Цитата:
замечено странное поведение, при назначание фильтра, отметке чекбокс на этой колонке, почемуто страбатывае OnEditValueChange Если у кого поставлены более свежие девки, посмотрите, стоит-ли переустанавливать их

Переустанавливать на последнюю версию, считаю стоит, но вашей проблемы это не решит.
Вы можете сами достаточно просто ее решить - в обработчике OnEditValueChange первой строкой сделайте проверку:

Код: if <YourcxGridDBTableView>.ViewData.FilterRow.Focused then Exit;
Автор: f3ka
Дата сообщения: 15.10.2009 07:30
SerBUser
хелп есть? там все расписано...
надо создать внутри cxGrid cxTableView (не DB), а затем добавляется в этот cxTableView.DataController.Append (insert и тд)
DataController в cxTableView это внутренний датасет...
Автор: JohnSilver182
Дата сообщения: 15.10.2009 07:32
Ничего не понимаю , сортирую Numeric по возрастанию , а вижу такое !!!
Автор: f3ka
Дата сообщения: 15.10.2009 07:35
JohnSilver182
а где в DevExpress есть Numeric? возможно происходит преобразование его в строку?
Автор: JohnSilver182
Дата сообщения: 15.10.2009 07:48
f3ka По идее меня не должно интересовать что есть в DEVEXpress . В базе у меня Есть такое поле . Numeric Size 15 scale 2 . По идее это Float или Currency .

Кажется есть подозрения , что если поставить у COLUMN любой Properties а потом убрать , то все . Надо Удалять столбец .
Автор: f3ka
Дата сообщения: 15.10.2009 08:06
JohnSilver182
по идее надо проверить тип поля которое есть в датасете, а также проверить тип поля который установлен у колонки...
Автор: Cryogen2003
Дата сообщения: 15.10.2009 08:17
vladman
Попробовал стареньким OpenPass, такое не проходит. Behind Asterisks у меня нет. Я вообще думал, что девки не пользуют стандартные виндовые эдиты для работы. Ну ок, сделаю через регулярки.
Автор: sldaac
Дата сообщения: 15.10.2009 08:30
JohnSilver182

Цитата:
По идее меня не должно интересовать что есть в DEVEXpress . В базе у меня Есть такое поле . Numeric Size 15 scale 2 . По идее это Float или Currency .

Вы не правы, в девках у вас поле сейчас строка, сделайте для колонки Properties currencyedit и будет вам счастие Если надо уберите маску, что-бы не показывало валюту

Автор: duce2
Дата сообщения: 15.10.2009 08:47
Снова вопрос: можно-ли в cxGrid с одним уровнем но с группировкой фильтровать данные по значениям из GroupSummary, и если да, то как?
Автор: TORSER7
Дата сообщения: 15.10.2009 08:49
SANiMirrorOfLight

А никаких ссылок не надо.
Все наследники TComponent имеют свойство Tag: Longint ,
которым вы можете распоряжаться по своему усмотрению.
Автор: JohnSilver182
Дата сообщения: 15.10.2009 09:20

Цитата:
Вы не правы, в девках у вас поле сейчас строка, сделайте для колонки Properties currencyedit и будет вам счастие Если надо уберите маску, что-бы не показывало валюту

А я тут поэкспериментировал , мне показалось что первично DataBinding->ValueType
А Properties -> currencyedit отвечает за визуальный вывод
Автор: sldaac
Дата сообщения: 15.10.2009 10:20

Цитата:
А Properties -> currencyedit отвечает за визуальный вывод

Да, присвой и разверни + и посмотри настройки
Автор: JohnSilver182
Дата сообщения: 15.10.2009 11:19
Кстати а я спрашивал : Могут ли девки выводить HTML страницу ???
Автор: sldaac
Дата сообщения: 15.10.2009 13:41

Цитата:
Кстати а я спрашивал : Могут ли девки выводить HTML страницу ??

Конкретней можно, что ты хочеш. А так ответ- могут. Так сча точно не вспонмю, на другой ОСи делфи, но где-то я открывал, настройки правил, и html читалась нормально, теги правильно понимались

Автор: X11
Дата сообщения: 15.10.2009 13:43
Есть модули экспорта в форматы xml, txt, html, excel

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081

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


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