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

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

Автор: SIgor33
Дата сообщения: 31.05.2010 16:53
[b]marser[/b]
[q] BeforePost попробуйте написать Abort[/q]
abort вернет меня к той же записи в режиме редактирования а я хочу отказаться от всех изменений вернуться в режим browse и используя locate перейти к записи с нужным id.
если в качестве грида не использовать GridDBTableView а допустим стандартный то все работает cancel все делает правильно я думаю может у девок какая замарочка. сразу скажу использую мастер детал связку на GridDBTableView
Автор: linker_2009
Дата сообщения: 31.05.2010 19:28
Подскажите как отключить отрисовку "Сеогдня" (красной рамкой) в компоненте TcxDateNavigator.
Автор: SIgor33
Дата сообщения: 01.06.2010 14:57
подскажите как сделать:
Когда перемещаюсь c помощью DataSet.Locate('Id', 20,[]) после установки на соответствующую запись хотелось чтобы она получила выделение, т.е получить FocusedRecord
Автор: linker_2009
Дата сообщения: 01.06.2010 15:07
[b]SIgor33[/b]
в этой ветке уже было. ищите по слову locate
Автор: X11
Дата сообщения: 01.06.2010 15:07
Так?
[code] with dbgMail do
if DataController.RecordCount > 0 then
Controller.FocusedRow.Selected := True;
[/code]
Автор: sldaac
Дата сообщения: 01.06.2010 22:40
Sufferer

Цитата:
Не, TStringStream мне не подойдет для загрузки файла, у меня каждый файл по 500Мб, мне его грузить нафик не нужно весь

господа, сорри что вмешиваюсь в вашу беседу, но про 500мб это шутка или оЧепятка??
Автор: A_V
Дата сообщения: 02.06.2010 01:05
linker_2009

Цитата:
Подскажите как отключить отрисовку "Сеогдня" (красной рамкой) в компоненте TcxDateNavigator.

Ну, собственно посмотрев на сорцы, видно что стандартный метод - создание наследника, который определит свой пейнтер. Ну или IsDateToday
типа того:

Код:
TMyInnerDateNavigator = class(TcxInnerDateNavigator)
protected
function CreateDateNavigator: TcxSchedulerCustomDateNavigator; override;
end;
TMySchedulerDateNavigator= class(TcxSchedulerDateNavigator)
protected
function IsDateToday(ADate: TDateTime): Boolean; override;
end;

TMyDateNavigator = class(TcxCustomDateNavigator)
protected
function CreateInnerDateNavigator: TcxInnerDateNavigator; override;
end;

function TMyDateNavigator.CreateInnerDateNavigator: TcxInnerDateNavigator;
begin
Result := TMyInnerDateNavigator.Create(Self);
end;

function TMyInnerDateNavigator.CreateDateNavigator: TcxSchedulerCustomDateNavigator;
begin
Result := TMySchedulerDateNavigator.Create(Self);
end;

function TMySchedulerDateNavigator.IsDateToday(ADate: TDateTime): Boolean;
begin
Result := False;
end;
Автор: SIgor33
Дата сообщения: 02.06.2010 08:11
A_V

Цитата:
Код

procedure TDMView.MainBeforePost(DataSet: TDataSet);
begin
....
DataSet.Cancel;
DataSet.Locate('Id', MainDuble.ParamByName('Id_Duble').AsInteger,[]);
MainDuble.Close;
Abort;

end;

SyncMode у меня true
А проблема что select записи она у меня другим цветом так и остался на записи где был cancel смотрю значение DataController.FocusedRecordIndex он равен значению записи на которой был тот же cancel
Автор: linker_2009
Дата сообщения: 02.06.2010 12:15
[b]A_V[/b]
Спасибо. Тоже покапался в исходниках и поправил функцию IsDateToday. Ваш вариант предпочтильнее.
Автор: A_V
Дата сообщения: 02.06.2010 12:50
SIgor33

Цитата:
DataSet.Locate('Id', MainDuble.ParamByName('Id_Duble').AsInteger,[])

Может локейт у тебя не проходит? Проверь, возвращает ли он True
Автор: SIgor33
Дата сообщения: 02.06.2010 14:15
A_V

Цитата:
Может локейт у тебя не проходит

Все проходит даже встает на ту запись в датасете. А вот фокус строке не передает.
Автор: A_V
Дата сообщения: 02.06.2010 14:40
SIgor33
А, это же ты в соседней теме про дубли спрашивал
В датасете на момент локейта только одна запись с таким id?
Автор: SIgor33
Дата сообщения: 03.06.2010 08:04
A_V

Цитата:
про дубли спрашивал

Да все верно я спрашивал а id уникальный повторов нет.
На запись у меня по id перемещает фокус не получает.
Автор: DShtorm
Дата сообщения: 03.06.2010 08:37
Уважаемые не подскажите такой вопрос

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

Совсем голову сломал , как это можно реализовать
Автор: X11
Дата сообщения: 03.06.2010 08:43
Читай про диаграммы Ганта.
Автор: A_V
Дата сообщения: 03.06.2010 09:14
SIgor33
ну хз, можешь сделать тестовый пример, чтоб без базы работал (c clientdataset'ом например),
посмотрим.
Автор: DShtorm
Дата сообщения: 03.06.2010 10:00

Цитата:
Читай про диаграммы Ганта.


Большое Спасибо . Вроде то что надо

Хотел уточнить , а как можно поступить с пользователями :
1) На каждого выводить однострочный Гант
2) либо можно создать Такую диаграмму Ганта у которой по вертикали будет несколько тысяч строк ?
Автор: SIgor33
Дата сообщения: 03.06.2010 12:39
A_V
Я нашел в чем затык был я пытался получить фокус когда работал с датасетом а так как у грида был режим gridmode=false пришлось фокус получать в обработчике FocusedRecordChanged все заработало. Спасибо за советы
Автор: DShtorm
Дата сообщения: 03.06.2010 16:22
Кто работал с Devexpress Scheduler ?

1) Хочу создать таблицу Абоненты-Месяцы , связанную с обычным гридом один-к-одному,
то есть мне нужно в runtime создавать строки по числу абонентов ?

2)Данные хочу хранить в базе , но мне нужны только несколько своих полей ,
как это можно настроить ? А то я посмотрел в справке , там целый огород определенных полей заточенных под планирование задач . Как это можно настроить ?

3) Хочу хранить события двух разных типов ( форматов ).
Думаю их можно будет загрузить в 2 захода . И редактировать через 2 разных user-event


Автор: X11
Дата сообщения: 03.06.2010 16:35
Я пытался работать с шедулером, но он гад глючит постоянно при запуске среды. И не очень понравилос, как он отображает данные в режиме диаграммы ганта. Я попробовал TChart PRO - мне показалось, что получше. Так и оставил.
Автор: linker_2009
Дата сообщения: 03.06.2010 17:04
DShtorm
1. не совсем понял. Вы можете соедини шедулер через ТcxSchedulerGridConnection с девовским гридом
2. Вам нужен ТcxSchedulerDBStorage который вы присоедините к шедулеру, в свойстве FieldNames можно задать соответствие полей (поля в бд могут быть обозваны как угодно)
3. это вопрос?
Автор: lysyjChert
Дата сообщения: 04.06.2010 09:26
Подскажите, есть в DevExpress компонент "деревянный RadioGroup"? т.е. дерево у которого в узлах radiobutton/
Автор: DShtorm
Дата сообщения: 04.06.2010 09:43

Цитата:
не совсем понял. Вы можете соедини шедулер через ТcxSchedulerGridConnection с девовским гридом


Я понял что ТcxSchedulerGridConnection выводит все события из хранилища в грид
А мне надо чтобы к уже существующий гриду прилепить Шедулер , типа как мастер-детайл таблица . Перемешаюсь по гриду и синхронно по шедулеру с возможностью создавать свои задачи в нем на временной шкале . Непонятно может быть в шедулере несколько тысяч строк ?


Цитата:
3) Хочу хранить события двух разных типов ( форматов ).
Думаю их можно будет загрузить в 2 захода . И редактировать через 2 разных user-event

Просто у меня есть события из двух разных таблиц .

В общем пока еще разбираюсь ...
Автор: X11
Дата сообщения: 04.06.2010 09:44

Цитата:
Подскажите, есть в DevExpress компонент "деревянный RadioGroup"? т.е. дерево у которого в узлах radiobutton/

У колонок есть свойство Properties, оно?
Автор: lysyjChert
Дата сообщения: 04.06.2010 10:01

Цитата:
У колонок есть свойство Properties, оно?


Вы сейчас про какой компонент говорите? Если можно по подробнее.
Автор: jonikDk
Дата сообщения: 04.06.2010 10:19

Цитата:
Подскажите, есть в DevExpress компонент "деревянный RadioGroup"? т.е. дерево у которого в узлах radiobutton/

а как ты это себе представляешь ?? ты просто хочешь отмечать нужные тебе узлы ??
Автор: lysyjChert
Дата сообщения: 04.06.2010 10:32

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

смысл вот в чем: есть к примеру дерево у него 3 корневых узла, у каждого узла есть по 2
листа
__узел1
| |__лист1
| |__лист2
|
|__узел2
| |__лист1
| |__лист2
|
|__узел3
|__лист1
|__лист2
Нужно, чтобы была возможность выбрать(отметить) лишь один узел и лишь один лист в узле.
В инсталяторах часто делают возможность выбора устанавливаемых компонентов на основе дерева с комбинацией checkBox в узлах и radioButton в листьях. В принципе и такой компонент подошел бы, только что это за компонент не знаю. Но в идеале было бы именно RadioButton на узлах и листьях
Автор: linker_2009
Дата сообщения: 04.06.2010 12:08
[b]DShtorm[/b]
[q]Просто у меня есть события из двух разных таблиц .
[/q]
Есть такой вариант
Объединяете две таблицы в SQL запросе через Union
К одному master-Dataset цепляете Grid, а к detal-dataset TcxSchedulerDBStorage.
[q]Непонятно может быть в шедулере несколько тысяч строк ? [/q]
Может, сможет ли пользователь воспринимать информацию?

Автор: X11
Дата сообщения: 04.06.2010 12:48

Цитата:
а как ты это себе представляешь ??

Есть неплохие компоненты для firebird/interbase
h__p://home.mts-nn.ru/~mapnn/
Там это реализовано.
Автор: vladman
Дата сообщения: 04.06.2010 13:35
lysyjChert

Цитата:
Нужно, чтобы была возможность выбрать(отметить) лишь один узел и лишь один лист в узле.

Используйте TcxTreeList с установленным свойством OptionsView.CheckGroups

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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