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

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

Автор: neznayka3
Дата сообщения: 11.11.2012 03:52
syberside
в helpe все есть. свои поля добавляются в cxSchedulerDBStorage1.CustomFields, для создания своего евента, форма наследуется от TcxSchedulerEventEditorForm.
Автор: syberside
Дата сообщения: 11.11.2012 13:29
neznayka3, Спасибо за ответа. К сожалению поработав в хелпом и примерами пришел к выводу, что Scheduler не подходит, т.к. расписание надо составить только на неделю (каждую неделю оно одно и тоже).

Каким компонентом удобнее всего реализовать интерфейс как в приложенной картинке.
Данные хранятся в БД в таблице с колонками (Индекс временного диапазона, День недели, Индекс работы, Индекс места расположения). Временное деление для каждого дня одинаковое.

По сути аналог школьного расписания.

http://i081.radikal.ru/1211/2d/252fdbdb147d.jpg
Автор: neznayka3
Дата сообщения: 11.11.2012 13:38
syberside

Цитата:
Scheduler не подходит, т.к. расписание надо составить только на неделю (каждую неделю оно одно и тоже).

подходит. см. TcxSchedulerEventRecurrenceInfo.Recurrence


Добавлено:
для группировки есть "ресурсы" см. демо ResourceDemo
Автор: parasenak
Дата сообщения: 11.11.2012 15:25
X11 , весия 2012.15 , я так понял последняя, подключено вроде все....
Автор: syberside
Дата сообщения: 11.11.2012 18:05
ввести свои диапазоны времени я так понимаю нельзя? (TimeScale может принимать только определенные значения?)
И можно ли сделать просмотр одновременно нескольких дней? Есть вариант просмотра ViewWeek, нужен такой же, но только что бы в каждом дне было разбиение на временные интервалы как в ViewDay.
Автор: neznayka3
Дата сообщения: 11.11.2012 18:37
syberside

Цитата:
ввести свои диапазоны времени я так понимаю нельзя?

чем ваши диапазоны от других отличаются?

Цитата:
И можно ли сделать просмотр одновременно нескольких дней?

можно выделить любой промежуток времени.
Автор: syberside
Дата сообщения: 11.11.2012 19:22

Цитата:
чем ваши диапазоны от других отличаются?  

я имею в виду, что отметки на временной шкале должны быть не через равный промежуток.
Например, если ставим TimeScale = 60 minuts получаем 8:00,9:00 и т.д.
а мне нужны произвольные отметки, т.е. например 8:00,12:00,12:15,13:50 и т.п.
Что на счет ViewWeek со шкалой и временными отметками.

И еще вопрос по cxGrid:
у меня в БД есть таблица с колонками (Время, Задание, Объект, Группа). Необходимо сгруппировать данные как на картинке
http://imglink.ru/show-image.php?id=6f65c16846036414a209438cd8e73079
В desigh можно без проблем создать нужные заголовки, и вписать данные, но проблема в том, что количество групп и их данные заранее не известны.

В scheduler есть группировка с использованием ресурсов - как раз то, что надо. Можно ли реализовать подобное с помощью Banded Table?
Автор: makz
Дата сообщения: 12.11.2012 06:07

Цитата:
Можно ли реализовать подобное с помощью Banded Table?

Конечно.
Автор: syberside
Дата сообщения: 12.11.2012 07:37

Цитата:
Конечно.

Очень содержательно. Тогда как реализовать? я так понимаю возможно только программно создать банды и программно же заполнять данные?
Автор: dimm78
Дата сообщения: 12.11.2012 08:12

Цитата:
Очень содержательно. Тогда как реализовать? я так понимаю возможно только программно создать банды и программно же заполнять данные?

Мысль в правильном направлении))) Автоматически такая вещь может создаваться только в PivotGrid, но и там пришлось бы шаманить чтобы не дать пользователю "поломать" настройки отображения.
Автор: syberside
Дата сообщения: 12.11.2012 16:27

Цитата:
Автоматически такая вещь может создаваться только в PivotGrid

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

А как убрать надписи Grand Total в заголовках строки и столбца при отсутствии данных? В хелпе говорят Row и ColumnGrandTotal=false
Когда в гриде есть данные - все нормально, но вот если данных нет - висят эти Grand Total... Единственное что приходит мне в голову - через cxLocalizer заменить этот текст на пустую строку, но как то это не правильно...
Автор: exteris
Дата сообщения: 13.11.2012 07:33
syberside

Цитата:
Единственное что приходит мне в голову - через cxLocalizer заменить этот текст на пустую строку, но как то это не правильно...


OptionsView - ColumnGrandTotalText
OptionsView - RowGrandTotalText
Автор: syberside
Дата сообщения: 13.11.2012 09:38

Цитата:
OptionsView - ColumnGrandTotalText
OptionsView - RowGrandTotalText


Логично, но там и так пусто


Добавлено:
Все, разобрался. Если ColumnGrandTotalText="" то выводит стандартный текст.
Заменил на пробел - все ок.
Автор: AlexCoRu
Дата сообщения: 13.11.2012 17:01
Девы 2012.1.6, в TcxDBTreeList изменения сохраняются после второго нажатия кнопки post в навигаторе. Это их глюк или у себя искать?
Автор: AlexCoRu
Дата сообщения: 14.11.2012 08:30
В 2012.1.5 cxDBTL.pas было

Код: procedure TcxDBTreeListDataController.PostRecord;
begin
if (DataSet.State in dsEditModes) and not UpdateEditing then
DataSet.Post;
end;
Автор: exteris
Дата сообщения: 14.11.2012 12:03
AlexCoRu
Дык, поставьте брейкпоинт на этот PostRecord, гляньте как отрабатывает.
Автор: MagistrAnatol
Дата сообщения: 16.11.2012 14:58
Народ, помогите с гридом - мастер-деталь
Завязка мастер-деталь реализована через sql на таблицах файребирда - таблицы большие и без такой реализации формы долго открываются.
В цхГрида есть мастер уровень и у него 5 деталей - все нормально отображается - за одним
нюансом - пока я не раскрываю деталь уровни - грид начинает дергатся и вроде как постоянно обновляется ну и начинаются тормоза.
Игры с DataModeController - ни к чему не приводят, кроме того в деталь уровнях остаются записи предыдущего мастера если не стать на мастер а просто раскрыть детали
В базе файребирда в деталь таблицах внешних ключей не создавал.
Индексы по мастер-деталь полях есть
Как убрать мерцание грида????
Автор: neznayka3
Дата сообщения: 16.11.2012 15:33
как свернуть TdxLayoutControl горизонтально? нашел это, но хотелось бы обойтись без навигатора.
Автор: SergKhM
Дата сообщения: 16.11.2012 17:03
MagistrAnatol

Может это слишком просто, но мне помого при построении отчета - у датасета перед формированием детали вызвать DisableControls()
Автор: quick refresh
Дата сообщения: 16.11.2012 17:45
Добрый день. Очень ъхочу спросить, у меня такая пробелма: я раньше писал программу с испольхзованием DevExpress 7.1.1.0 а теперь дистрибутив не сохранился и вот снова нужно поднять эту программу кое что изменить, а вот как привязать ее к другой версии DevExpress более поздней? При компиляции постаянно выдает ошибки что не найдет элементы DEvExpress. Подскажите плиз.

Добавлено:
И пишет вот такую ерунду в Output:
C:\Windows\Microsoft.NET\Framework\v2.0.50727\Microsoft.Common.targets : warning MSB3245: Could not resolve this reference. Could not locate the assembly "DevExpress.XtraGrid.v7.1, Version=7.1.1.0, Culture=neutral, PublicKeyToken=79868b8147b5eae4"

Что делать подскажите?
Автор: salexn1
Дата сообщения: 16.11.2012 23:40
quick refresh
Ну, во-первых вы не в тот топик попали... тут в основном про VCL DevExpress.

Скорее всего, у вас другая сборка под .net. Пересоберите со своей сборкой или ищите версию 7.1
Автор: AlexCoRu
Дата сообщения: 17.11.2012 20:38

Цитата:
Дык, поставьте брейкпоинт на этот PostRecord, гляньте как отрабатывает.
Мысль, бесспорно, хорошая. ) И что?
Автор: syberside
Дата сообщения: 18.11.2012 18:14
Есть два источника DS1 и DS2 , к каждому привязана таблица. В cxGrid они связанны как Master(DS1)-detail(DS2). Одна из колонок мастера - лукап поле у которого в качестве источника данных установлен DS2, значения должны быть только те, которые есть в detail.
Пробовал в событии OnPopup лукапного поля фильтровать DS2, но тогда при раскрытии попапа грид тянет данные -> тормозит, да и все остальные detail стают пустыми (как и значение лукап полей остальных записей master).
Пробовал при раскрытии попапа запрещать обновление всех уровней (BeginUpdate), в некоторых случаях все работает замечательно, а в некоторых получаю access violation =(
Может есть какое то более прямое решение, в каком направлении копать?
Включать кэширование лукап полей в датасетах пробовал, не помогает.
Автор: salexn1
Дата сообщения: 18.11.2012 21:09
syberside
А сдлеать еще один DataSet для lookup религия не позволяет?????
и потом это ООЧЕНЬ плохо, когда и один датасет завязан и на визулизацию и на выбор данных.
Автор: neznayka3
Дата сообщения: 19.11.2012 00:02
при присвоении TdxLayoutItem.CaptionOptions.ImageIndex все контролы в группе смещаются вправо. как это запретить? те сразу застолбить место под рисунок.
Автор: syberside
Дата сообщения: 19.11.2012 05:42

Цитата:
А сдлеать еще один DataSet для lookup религия не позволяет?????  

Допустим делаем еще один датасет для лукапного поля. Тогда из detail данные пропадать не будут, но при раскрытии попапа пропадают значения у других строк...
Автор: salexn1
Дата сообщения: 19.11.2012 07:22
syberside
Как могут пропадать данные, если DataSet ни на кого не завязан?????

а вообще, лучше бы вы код дали глянуть....
Автор: syberside
Дата сообщения: 19.11.2012 09:52

Цитата:
Как могут пропадать данные, если DataSet ни на кого не завязан?????

Лукап поле привязано к датасету. Этот датасет я и фильтрую. Или я вас не так понял?

Как узнать отображаемую ширину колонки при ColumsAutoWidth=true?
Width имеет значение без учета подгонки под грид.

Добавлено:
К фильтрации лукап поля: для удаления пункта Customize при фильтрации использую такую процедуру:

Код: void __fastcall TMainForm::NoCustomOption(TcxFilterCriteria *Sender, int AItemIndex,
TcxDataFilterValueList *AValueList)
{
    if(AValueList->ItemsList->Count>1)
        AValueList->Delete(1);
}
Автор: dimm78
Дата сообщения: 19.11.2012 12:38
syberside

Цитата:
Как узнать отображаемую ширину колонки при ColumsAutoWidth=true?
Width имеет значение без учета подгонки под грид.


http://www.devexpress.com/Support/Center/Question/Details/Q235420
Автор: mdid
Дата сообщения: 19.11.2012 14:21
а кто то щупал новых девок? Интересует количество критичных багов а так же ситуация с ImmediatePost. Просто некоторые компоненты, даже с этой галкой, упорно не сейвят значение, что приводит к тоннам лишнего кода. А так же появилось ли свойство ItemIndex у комбобокса, который создан через properties.
ПС
проверить ща не могу, на работе работы много, а дома возня с переездом. Помогите кто чем может))

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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