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

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

Автор: JohnSilver182
Дата сообщения: 11.10.2010 16:11
Hi
dxAllSkins.dll - А новые версии будут ???
Автор: AvGSoft
Дата сообщения: 11.10.2010 16:29
JohnSilver182
Так в девках по моему начиная с 51 версии мно сделать skinres файл и грузить из него скины, разумная альтернатива dll
Автор: Prizzzrak777
Дата сообщения: 12.10.2010 15:21
Не подскажите как изменить цвет группы в зависимости от значения полей в строках внутри группы. Как я понимаю через OnCustomDrawGroupCell или OnGetGroupStyle. Собственно вопрос в том как из запяси группы попасть к записям внутри группы???
Автор: marser
Дата сообщения: 12.10.2010 16:05
Prizzzrak777
А нельзя-ли значение критерия раскраски вывисти в TcxDataSummaryItem? Тогда было бы проще.
Автор: Prizzzrak777
Дата сообщения: 12.10.2010 16:07

Да это метод,спасибо за идею, но хотелось бы узнать как обращатся из группы к запясям внутри группы.
Автор: marser
Дата сообщения: 12.10.2010 16:25
Prizzzrak777
Можно перебирать все записи и смотреть ViewData.Records[I].ParentRecord, но это через задницу. А как из группы к записям добраться - не знаю.
Автор: Man_Without_Face
Дата сообщения: 12.10.2010 16:44
Есть ClientDataSet, cxGrid, frxDBDataSet и frxReport. Можно ли при формировании отчета что бы туда попадали только те данные, которые отфильтрованы и отсортированы в гриде?
Автор: f3ka
Дата сообщения: 12.10.2010 17:15
Man_Without_Face
заливать данные FilteredRecords из cxGrida в какой нить MemoryDataSet и оттуда показывать в отчете...
Автор: BlackVetal
Дата сообщения: 13.10.2010 05:49
Prizzzrak777
У view есть два метода GetChildRowCount и GetChildRowHandle - я думаю можно перебрать с помощью этих методов строки группы ...
Автор: marser
Дата сообщения: 13.10.2010 07:38
BlackVetal

Цитата:
У view есть два метода GetChildRowCount и GetChildRowHandle - я думаю можно перебрать с помощью этих методов строки группы ...

Что-то я не могу найти эти методы. Если можно поподробнее. Это в VCL или .Net?
Автор: Man_Without_Face
Дата сообщения: 13.10.2010 08:43
f3ka

Цитата:
заливать данные FilteredRecords из cxGrida в какой нить MemoryDataSet и оттуда показывать в отчете...

Спасибо, а можно подробнее? FilteredRecords я не нашел.
Автор: Prizzzrak777
Дата сообщения: 13.10.2010 08:52
Кто нибудь знает как по записи (ARecord) найти DataGroupIndex
Автор: X11
Дата сообщения: 13.10.2010 09:00
Man_Without_Face, смотри мой пример, здесь, в этом разделе ранее выкладывал. Если будут предложения и поправки к классу, то выкладывай здесь.
Автор: marser
Дата сообщения: 13.10.2010 09:28
Prizzzrak777

Цитата:
Кто нибудь знает как по записи (ARecord) найти DataGroupIndex

Что понимать под записью (ARecord)? Если по номеру записи (RecordIndex: Integer), то

Код: RowIndex := cxGrid1TableView1.DataController.GetRowIndexByRecordIndex(RecordIndex);
DataGroupIndex := cxGrid1TableView1.DataController.Groups.DataGroupIndexByRowIndex[RowIndex];
Автор: Man_Without_Face
Дата сообщения: 13.10.2010 09:29
X11
Спасибо, я сделал по другому:
DataController -> Filter -> AutoDataSetFilter -> true
Автор: marser
Дата сообщения: 13.10.2010 09:39
Man_Without_Face

Цитата:
Спасибо, я сделал по другому:
DataController -> Filter -> AutoDataSetFilter -> true

И в результате наложили фильтр на DataSet. А Вы уверены, что фильтр DataSet поддерживает все условия гридовского фильтра, например, like (содержит)?
Автор: Prizzzrak777
Дата сообщения: 13.10.2010 09:43
marser
Через RowIndex плохая идея.


Код: GetRowIndexByRecordIndex(RecordIndex,MakeVisible)
Автор: fortezza
Дата сообщения: 13.10.2010 11:20
здравствуйте, хочу сделать общий алгоритм удаления записей в гриде.
есть два варианта, либо кнопкой del на клавиатуре, либо с помощью контекстного меню, после этого запускается обработчик:


Код: if TcxGridDBTableView(ActiveGridPopupMenu.Grid.ActiveView) <> nil then
with TcxGridDBTableView(ActiveGridPopupMenu.Grid.ActiveView) do
if (MessageDLG('Удалить ' + ifThen(Controller.SelectedRecordCount = 1, 'запись', 'выделенные записи') + '?',mtConfirmation,[mbOK,mbCancel],0) = mrOK) then
DataController.DeleteSelection;
Автор: marser
Дата сообщения: 13.10.2010 14:18
fortezza
cxGridTableView.DataController.EditState

Добавлено:
А если cxGridDBTableView, чем DataSource.State не устраивает?
Автор: Prizzzrak777
Дата сообщения: 13.10.2010 15:25
Получение DataGroupIndex из ARecord: TcxCustomGridRecord;

Код:
ADataGroupIndex := cxGrid1DBTableView1.DataController.Groups.DataGroupIndexByRowIndex[ARecord.Index];
Автор: lumasspcex
Дата сообщения: 13.10.2010 16:33
в DataSet'е связанным с cxGridDBTableView неоходимо обработать НЕ выдененные строки.
С выделенными получается работать без проблем, через GridViewQuery.Controller.SelectedRows, а вот как подступится к НЕ выделенным, не понятно...
Автор: marser
Дата сообщения: 13.10.2010 19:50
lumasspcex
Ну так пробегитесь по не выделеным строкам

Код: with cxGridDBTableView.ViewData do
for I := 0 to RecordCount - 1 do
if not Records[I].Selected then
begin
.......
end;

ИЛИ

with cxGridDBTableView.ViewData do
for I := 0 to RowCount - 1 do
if not Rows[I].Selected then
begin
......
end;
Автор: Czechoslovak
Дата сообщения: 14.10.2010 10:29
fortezza

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

Что т не совсем понятно...если процедура привязана к событию KeyDown (View), то при редактировании процедура вызываться не будет, естественно надо отключить у View возможность удаления

Цитата:
Где найти это свойство, уже много свойств Edit/ing у View

вообще-то есть несколько вариантов
ну например: View.Controller.IsEditing
Автор: fortezza
Дата сообщения: 15.10.2010 07:54

Цитата:
fortezza
Цитата:когда курсор стоит в ячейке и нажимается кнопка del на клавиатуре, вызывается этот блок.
но если View находится в режиме правки, то надо пропустить блок.

Что т не совсем понятно...если процедура привязана к событию KeyDown (View), то при редактировании процедура вызываться не будет, естественно надо отключить у View возможность удалени

Есть ActionList, в котором есть действие на удаление (ShortCut - Del). У View подцеплено PopUp меню, у которого один из пунктов - удаление (с действием из ActionList).
Автор: mdid
Дата сообщения: 15.10.2010 08:18
крик души
переходя от дев 46 на 53 надеялся на светлое будущее...но хрен его знает что они добавляют от версии к версии но dxMemData как полноценно не работала так и не работает ...в TcxComboBoxProperties как не было itemindex так и нет...я просто в отчаянии
Автор: Czechoslovak
Дата сообщения: 15.10.2010 11:06
fortezza
Вообще то я рассуждал про нажатие клавиши, а с меню вообще никаких проблем не должно быть ...проверяйте состояния грида и все...можно вообще сделать что бы в режиме редактирования эти пункты меню были отключены
Автор: TechnoDreamer
Дата сообщения: 15.10.2010 12:27
mdid, что они делают написано в changelog. MemData не обновляется и обновляться не будет.
Автор: antey424
Дата сообщения: 15.10.2010 12:49
Добрый день, не подскажите имеется ли возможность в cxGrid в SummaryGroups выводить не просто сумму по колонке а типа такого:
sum(поле1*поле2)
Автор: Czechoslovak
Дата сообщения: 15.10.2010 13:17
antey424
Почему нет .......пишешь в Summary->GroupFooterFormat тип что то такого sum(поле1*поле2): ,#.##;-,#.##;#
или в колонке на событие CustomDrawFooterCell пишешь AViewInfo.Text := 'всё что тебе угодно'
Автор: GRES
Дата сообщения: 17.10.2010 11:10
в схGrid столбец имеет строковые значения R1,R2,...R101,можно ли отсортировать
не как строковые значения , а по порядку номеров R1,R2,R3 ...
,а не R1,R11,R111 .... (без использования Select .. Order by в запросе)
Есть ли хотя бы идеи по такой сортировке в схGrid.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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