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

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

Автор: volser
Дата сообщения: 22.02.2010 12:40
Кто ставил 48 версию, скажите какие там вылезли баги? И какие баги остались с предыдущих версий?
Автор: X11
Дата сообщения: 22.02.2010 16:35
Подскажите, пожалуйста, почему стиль грида не восстанавливается?
На форме есть cxGrid, cxStyleRepository, там создан cxGridTableViewStyleSheet и cxStyle.
В дизайне всё настроил, связал. Работает нормально. Сохраняется с помощью SaveStyleSheetsToIniFile() тоже нормально.

Вызываю процедуру при создании формы, так же пробовал при показе. У таблицы остается стиль (шрифт, цвет) тот, который был назначен в дизайне (в IDE).


Код:
procedure RestoreStyleRepositoreToIni(cxStyleRepository: TcxStyleRepository; FormName: string; dbg: TcxGridDBTableView);
Var
d: string;
begin
d := fmMain.sAppPath + IncludeTrailingPathDelimiter(UserData.UserName);

if not DirectoryExists(d) then exit;

try
// cxStyleRepository.ClearStyleSheets;

if FileExists(d + FormName+'_'+cxStyleRepository.Name+'.ini') then
LoadStyleSheetsFromIniFile(d, cxStyleRepository, nil);

// количество показывает 1, значит StyleSheet грузится
if cxStyleRepository.StyleSheetCount <= 0 then exit;

dbg.Styles.StyleSheet := cxStyleRepository.StyleSheets[0];

except
on e: exception do
MessageBox(application.ActiveFormHandle, PAnsichar('Невозможно восстановить настройки стиля' + FormName+'_'+cxStyleRepository.Name+'.ini' + #13+e.Message), 'Ошибка', MB_ICONSTOP or MB_OK);
end;
end;
Автор: vladman
Дата сообщения: 22.02.2010 17:16
X11

Цитата:
У таблицы остается стиль (шрифт, цвет) тот, который был назначен в дизайне (в IDE).

Попробуйте задать третий параметр AStyleSheetClass: TcxCustomStyleSheetClass в методе LoadStyleSheetsFromIniFile отличный от nil.

Цитата:
Note: all style sheets created by the LoadStyleSheetsFromIniFile procedure will be the same class as defined by AStyleSheetClass.
Автор: X11
Дата сообщения: 22.02.2010 19:35

Цитата:
Попробуйте задать третий параметр AStyleSheetClass: TcxCustomStyleSheetClass в методе LoadStyleSheetsFromIniFile отличный от nil.

Указывал. Просто я не написал об этом.
И ещё добавлю, что исп. Dev48
Автор: vladman
Дата сообщения: 22.02.2010 22:39
X11

Цитата:
Указывал. Просто я не написал об этом.

Не знаю как у вас, но код -

Код: LoadStyleSheetsFromIniFile('d:\test.ini', cxStyleRepository1, nil); у меня выдает AV.
Автор: X11
Дата сообщения: 22.02.2010 22:51

Цитата:
Не знаю как у вас, но код -

Код:
LoadStyleSheetsFromIniFile('d:\test.ini', cxStyleRepository1, nil); у меня выдает AV.

В справке написано, что вместо класса можно передавать nil. В этом случае будут грузится все стили из файла. Этот типа как фильтр. Странно, что у Вас AV.
И слабая справка по стилям. И примеров там нет.
Автор: shum44
Дата сообщения: 23.02.2010 00:12

Цитата:
Цитата:по поводу добавления новых скинов можешь что сказать?



В версии для печати 3-ей части как-то видел Andrey128 писал
о некоем скрипте make_skins_dll.rar


Если кто нибудь скачал этот архив... поделитесь плиз...
еще вопрос по использыванию скинов...это как сделать Grid полосатым....?



Автор: korobovmax
Дата сообщения: 23.02.2010 00:19
shum44,
в свойствах грида указать в качестве Styles.ContentOdd или Styles.ContentEven стиль с цветным фоном.
Автор: shum44
Дата сообщения: 23.02.2010 00:22
указал....один хрен не работает...скины грузятся из dll....
Автор: vladman
Дата сообщения: 23.02.2010 01:42
X11

Цитата:
Странно, что у Вас AV.

Да действительно странно если у вас AV не наблюдалось при nil. Сравнил файлы cxStyles.pas 47 и 48 версий - абсолютно одинаковы.
Автор: X11
Дата сообщения: 23.02.2010 13:09
Ну вот из справки:

Цитата:
Using the AStyleSheetNames parameter, you can specify the names of the style sheets to load. If it is set to nil, all style sheets are loaded from the file.


Добавлено:
Не знаю, влияет ли это, но у меня грид, стили на одной форме, а процедуры сохранения/восстановления в другом модуле.
Автор: Kim006
Дата сообщения: 24.02.2010 01:34
Есть вопрос по cxGrid TableView:
подскажите как выбрать из TableView только отфильтрованные данные,
нигде не могу найти...
Автор: maratea
Дата сообщения: 24.02.2010 05:48
afiget
vladman
спасибо!)
мне оба и нужны оказались)
OnEditing - это когда пользователь выбирает дату и нажимает "ОК", а OnValidate - когда вбивает руками и нажимает Enter. Отлично)
Автор: fortezza
Дата сообщения: 24.02.2010 08:11
Всех мужчин поздравляю с Днём защитника отечества!

Подскажите по такому вопросу: если у меня в ячейке поставлен LookupComboBox, то для перехвата изменений я использую onChange этого компонента, а если у меня в ячейке вводится число типа float, то какой к-т использовать / либо где перехватывать изменение?
Автор: X11
Дата сообщения: 24.02.2010 08:59

Цитата:
подскажите как выбрать из TableView только отфильтрованные данные,

Легко. Идём в третью часть (см. шапку). Справа вверху выбираем версию для печати. Выполняем поиск по ключевому слову: отфильтрованному
Автор: fortezza
Дата сообщения: 25.02.2010 07:30
как узнать в процедуре

cxGridDBTableView5CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

что ячейка выделена?

TcxGridDBColumn(AviewInfo.Item).Focused
AviewInfo.Focused

не работают

Добавлено:

Цитата:
как узнать в процедуре

cxGridDBTableView5CustomDrawCell( Sender: TcxCustomGridTableView; ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo; var ADone: Boolean);

что ячейка выделена?

TcxGridDBColumn(AviewInfo.Item).Focused
AviewInfo.Focused

не работают


это работает, только при непосредственном клике по ячейке, а мне надо чтобы работало при клике по строке
Автор: Cryogen2003
Дата сообщения: 25.02.2010 08:30
fortezza
Ну если выделена, а не сфокусирована, то тогда через Selected

To all
На мой вопросик пока никто не ответил

Кстати, так они одну глюку не подправили в модуле cxGridCustomTableView и классе TcxCustomGridTableController, процедура MultiSelectMouseDown.
Проблема в том, что когда на гриде стоит CellMultiSelect = true, то нельзя выбирать записи с помощью Ctrl. Честно говоря хотелось бы как-то этот глюк исправить - или пусть разработчики правят, либо подскажите, как можно заменить эту функцию, но не переписывая исходников разработчиков.
Автор: fortezza
Дата сообщения: 25.02.2010 08:45

Цитата:
fortezza
Ну если выделена, а не сфокусирована, то тогда через Selected



Код: if TcxGridDBColumn(AviewInfo.Item).Selected then ...
Автор: Cryogen2003
Дата сообщения: 25.02.2010 08:50
fortezza
Я всегда проверял так и всегда работало

Код:
If (AViewInfo.GridRecord.Selected) Or
(dbgRegistryBandedTableView1.Columns[AViewInfo.Item.Index].Selected) Then
Автор: X11
Дата сообщения: 25.02.2010 09:01

Цитата:
Кто ставил 48 версию, скажите какие там вылезли баги? И какие баги остались с предыдущих версий?

В принтасистем переделали дизайнер на ленточный интерфейс. В cxGrid остался баг с двойным срабатыванием события OnFocusedRecordChanged при открытии датасета.

Я думаю ,что на сайте у них есть информация о новшествах и исправлениях.
Автор: korobovmax
Дата сообщения: 25.02.2010 11:13
Есть:
http://devexpress.com/Products/VCL/Subscription/WhatsNewBuild48/
Автор: volser
Дата сообщения: 25.02.2010 11:33
X11

Цитата:
Я думаю ,что на сайте у них есть информация о новшествах и исправлениях.

Про исправленные баги я читаю. А вот те которые остались как то не успеваю отслеживать. Интересуют именно критические баги.
Автор: X11
Дата сообщения: 25.02.2010 14:59
На форме есть dxBarManager и dxBar, на dxBar есть TcxBarEditItem типа CheckBox. Но включать и выключать CheckBox получается только если щёлкнешь мышкой именно на квадратике. А если по Caption, то CheckBox только выделяется и отметить или снять отметку не получается. Можно как-то заставить работать это CheckBox, как нормальный полноценный CheckBox?
Автор: afiget
Дата сообщения: 25.02.2010 16:04
Использую dxBarControlContainerItem с помещенным туда обычным CheckBox - все ОК.
Автор: X11
Дата сообщения: 25.02.2010 16:39

Цитата:
dxBarControlContainerItem

Не могу понять, что это такое.
Автор: jonikDk
Дата сообщения: 25.02.2010 17:12

Цитата:
Не могу понять, что это такое.

специальный класс контейнер для компонентов для их размещения на баре девок
Автор: X11
Дата сообщения: 26.02.2010 09:09
Это оно? Название похожее.



Цитата:
dxBarControlContainerItem

А как этим пользоваться. Не могу вкурить.
Автор: jonikDk
Дата сообщения: 26.02.2010 11:19

Цитата:
А как этим пользоваться. Не могу вкурить.

Свойство Control, устанавливаешь в это свойство control который находится на форме и у тебя этот контрол будет показываться на баре где находится этот контейнер
Автор: X11
Дата сообщения: 26.02.2010 12:11
Что-то не вижу я свойства Control


Добавлено:
Я понял. Я взял не тот компонент. Они похожи по названию.

Добавлено:
Мдааа... И здесь в девках ректально.
Автор: Kim006
Дата сообщения: 01.03.2010 09:41
cxSpreadSheetBook - как сделать сортировку по конкретному столбцу, чтоб записи в столбцах с права и слева остались привязаны к сортируемому столбцу (как в Exel)

или это можно реализовать только вручную?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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