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

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

Автор: salexn1
Дата сообщения: 02.09.2010 11:56
X11

Цитата:
определяй порядок после сортировки и добавляй в запрос order by, потом переоткрывай запрос

Теоретически можно, практически тоже - но сложно.
Проблема в Lookup и Calc полях, для обычных полей не проблема...
Автор: vladman
Дата сообщения: 02.09.2010 12:02
Andryshok

Цитата:
есть cxGrid с настроенным стилем

Что вы понимаете под стилем? Способ группировки? Но это к стилям cxGrid не имеет отношение. Смотрите в сторону cxCustomGridView.StoreTo... методов
Автор: salexn1
Дата сообщения: 02.09.2010 12:13
Andryshok
что нужно сохранять: стили(оформление, шрифты) или настройки колонок: их положение, группировки и т.д.?


Код:
если второе, то я делаю так (сохраняю в XML)

for i := 0 to aView.ColumnCount - 1 do
begin
aColumn := aView.Columns[i];
if aColumn.GroupIndex >= 0 then
AColumnNode.Attributes['GroupIndex'] := aColumn.GroupIndex;
end;

стичываю:

aGroups - просто список
TData - класс, в котором хранится Колонка и индекс(группировка, позиция)

for i := 0 to aView.ColumnCount - 1 do
begin
aColumn := aView.Columns[i];
if aColumn.Options.Grouping and aView.OptionsCustomize.ColumnGrouping then
aGroups.Add(TData.Create(aColumn, AColumnNode.Attributes['GroupIndex']));

end;

Сортировка aGroups по индексу

for i := 0 to aGroups.Count - 1 do
begin
aColumnData := aGroups[i];
aColumnData.Column.GroupIndex := aColumnData.Prop;
end;

Автор: Andryshok
Дата сообщения: 02.09.2010 12:57

Цитата:
salexn1
нужно сохранять настройки колонок, их положение, группировки , сама cxGrid подключена к датасорце который подключен к кьюри, здесь о данных не идет речь
Автор: salexn1
Дата сообщения: 02.09.2010 13:33
Andryshok
а я про данные и не писал. Если смутил XML - то я просто все настройки в XML сохраняю
Автор: Andryshok
Дата сообщения: 02.09.2010 14:33

Цитата:
cxCustomGridView.StoreTo... методов
Спасибо, помогло, выкладываю кусок кода

Код:
запись настроек
cxGridDBTableView1.StoreToIniFile(ExtractFilePath(Application.ExeName) + 'viewconfig.ini',true,[gsoUseSummary],'SkladView');

чтение настроек
cxGridDBTableView1.RestoreFromIniFile(ExtractFilePath(Application.ExeName) + 'viewconfig.ini',false,false,[gsoUseSummary],'SkladView');

Это в ини файлы, можно то же в реестр, поток...
Автор: Vixoid
Дата сообщения: 03.09.2010 06:22
Вопросец!
Использую cxDBVerticalGrid и встала задача такая зависимость одного поля от другова, на пример есть поля Tariff редактор ImageComboBox и TariffOptions редактор CheckGroup, при изменении поля Tariff поле TariffOptions должно очистится (убраться все галочки)... по разному пробовал, не выходит кто как такое реализует, жду любые советы!
И еще можно ли как то за Disable`ть строки/поля у cxDBVerticalGrid, что бы визуально смотрелось как не доступное?
Спсб!
Автор: Czechoslovak
Дата сообщения: 03.09.2010 10:29
Vixoid
Ну например на событие OnValidate повесить код

Цитата:

if DisplayValue <> [Имя EditorRow TariffOptions].Properties.Value then
[Имя EditorRow TariffOptions].Properties.Value := 0;
Автор: Vixoid
Дата сообщения: 03.09.2010 10:48
а как добраться до самого компонента редактора?
TcxMemoProperties(Self.cxDBVerticalGridRow1.Properties.EditProperties) - это свойства, как до самого Memo добраться?
Автор: jonikDk
Дата сообщения: 03.09.2010 11:13
кто использует скины, как заскинить TScrollBox ? На сайте девок был, там предложено два решения, но все они какие то не доделанные. Может кто то сталкивался и для себя делал ?
Автор: marser
Дата сообщения: 03.09.2010 12:13
Vixoid

Цитата:
а как добраться до самого компонента редактора?

Не знаю как в TcxDBVerticalGrid (у меня не установлен), но если проводить аналогию с TcxGridTableView, то редактор инициализируется на событии OnInitEdit (параметр AEdit: TcxCustomEdit).
Автор: Vixoid
Дата сообщения: 03.09.2010 13:08
marser
Спсб за подсказку!
а как произвольный контрол вставить в поле кто знает? вот PopUp редактор подходит, но нужно что бы он всегда был виден!
Автор: X11
Дата сообщения: 03.09.2010 13:19
Какой именно? Может он уже есть? Посмотри список в свойстве PropertiesEdit
Автор: Vixoid
Дата сообщения: 03.09.2010 13:25
мне нужно вставить cxGrid...
Автор: X11
Дата сообщения: 03.09.2010 13:36
Vixoid мы это поняли, я тебе именно про грид и говорю. Вернее про свойство PropertiesEdit у колонки грида.
Или тебе нежно вставить не в колонку, а в какое-то другое место?
Автор: Vixoid
Дата сообщения: 03.09.2010 13:48
TcxDBVerticalGrid представляеш? слева заголовки полей, справа значения(редакторы), вот один из этих редакторов должен быть cxGrid...
может EditProperties - имел ввиду?

Добавлено:
Еще вопросец: есть поле в БД телефон 10 символов, редактор TcxMaskEdit с маской (\d\d\d - \d\d\d - \d\d - \d\d), сохраняется в БД так: 345-746-84 а должо 3457468429
Спсб!
Автор: X11
Дата сообщения: 03.09.2010 15:38
думаю, что не должно, удаляй все нецифры сам, ручками при сохранении в базу
Автор: Vixoid
Дата сообщения: 03.09.2010 15:57
X11
Ага, и Девовцы тоже самое говорят, работает только если MaskKind = emkStandard и отменено сохранение literals...
а cxGrid в ячейку вставил, красота...
Автор: Ikra_v_shokolade
Дата сообщения: 06.09.2010 18:16
Скажите, пожалуйста, есть в DevExpress что-то вроде FolderBrowserDialog в VS? То есть диалог выбора папки.

Заранее благодарю за ответ!
Автор: sam291074
Дата сообщения: 06.09.2010 18:53
Ikra_v_shokolade
Есть компонент TcxShellComboBox, он позволяет выбрать папку

Автор: Ikra_v_shokolade
Дата сообщения: 06.09.2010 19:31
sam291074, спасибо огромное!

Если я правильно поняла по картинке, этот компонент нужно на форму кинуть? Именно формы диалога нет?
Автор: volser
Дата сообщения: 06.09.2010 20:32
Ikra_v_shokolade
Ссылка
Автор: vladman
Дата сообщения: 06.09.2010 23:13
Ikra_v_shokolade

Цитата:
Если я правильно поняла по картинке, этот компонент нужно на форму кинуть? Именно формы диалога нет?

Неправильно. Форма диалога - есть. cxShellBrowserDialog - это невизуальный компонент. Для вызов диалога воспользуетесь методом Execute.
Автор: Mzman
Дата сообщения: 07.09.2010 06:47
Как из cxPivotGrid достать значение ячейки с данными через ViewData? Строки и столбцы получить могу,а сами данные не получается.
Автор: sldaac
Дата сообщения: 07.09.2010 10:47
Mzman
cxPivotGrid.ViewData.Columns[cxPivotGrid.ViewData.Selection.FocusedCell.X].Value;
cxPivotGrid.ViewData.rows[cxPivotGrid.ViewData.Selection.FocusedCell.y].Value;
ну а дальше можно в датасет поиск, в принципе эти два значения уникальны.
Автор: Mzman
Дата сообщения: 07.09.2010 12:41

Цитата:
cxPivotGrid.ViewData.Columns[cxPivotGrid.ViewData.Selection.FocusedCell.X].Value;
cxPivotGrid.ViewData.rows[cxPivotGrid.ViewData.Selection.FocusedCell.y].Value;
ну а дальше можно в датасет поиск, в принципе эти два значения уникальны.


Наверное я не корректно задал вопрос.Например....
Edit1->Text=cxDBPivotGrid1->ViewData->Rows[2]->Value; //выдаст название строки по индексу 2,т.е. 3-ю строку
По такому же принципу могу взять значение в полях таблицы (Column[a]).
А вот ячейки с данными брать не получается.

Думал что получится следующее:
Edit1->Text=cxDBPivotGrid1->ViewData->CellsAsText[2,2] ,но выдает ошибку Too few parameters...
В общем мне нужно брать ячейки по их координатам.
Это мне нужно чтобы реализовать экспорт из сетки в Excell,а cxExportPivotGridToExcel меня не устраивает (у компа не хватает памяти но большое количество данных).
Автор: sldaac
Дата сообщения: 07.09.2010 14:54
Mzman


Edit1.Text=cxDBPivotGrid1.ViewData.CellsAsText[cxDBPivotGrid1.ViewData.Selection.FocusedCell.y,cxDBPivotGrid1.ViewData.Selection.FocusedCell.x]

Delphi2009
все работает
Автор: Mzman
Дата сообщения: 07.09.2010 15:35
sldaac
На BCB 6 не работает.
А по заданным координатам никак?Дело в том,что мне не нужно фокусироваться на требуемой ячейке.
Автор: sldaac
Дата сообщения: 07.09.2010 15:48
Mzman
а вы пробовали по фокус. координатам??
Версия Девок???
у меня х43 кажется, но прикол под билдером возможен
Автор: Ikra_v_shokolade
Дата сообщения: 07.09.2010 18:11
volser, по ссылке я поняла это компоненты для Дельфи, мне для VS нужно. Или это не имеет значение?
vladman, заранее простите ради бога за глупые вопросы, которые я буду задавать! sam291074 говорил про TcxShellComboBox, который я обыскалась и не нашла, Вы говорите про cxShellBrowserDialog. Вы наверное пропустили букву "T" вначале? А его в какой сборке искать?

Добавлено:
vladman, я плохо знаю английский, но, побывав на офсайте ДевЭкспресс, мне показалось, что TcxShellBrowserDialog для Дельфи сделан. Или я ошибаюсь?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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