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

» Использование DevExpress

Автор: SerjP75
Дата сообщения: 07.06.2006 07:20
Обновлять не весь мастер а одну запись (xDataSet.Refresh), в Detail - есть поле типа CheckBox, на PropertiesChange стоит Refresh Master DataSet, когда master Grid находится в GridMode, то все работает нормально, но нет сортировки/итогов(можно прописать вручную, но пока не хочется), когда Master Grid в режиме LoadAllRecord, получаем ошибку.
Автор: jicoff
Дата сообщения: 07.06.2006 12:26
SerjP75

И это понятно, что называется пилить сук на котором сидишь. Любое изменение мастер записи приводит к обновлению детейла. Предлагаю посылать PostMessage своей форме, как и сам делаю, со своим специальным параметром Msg = WM_... В двух других wParam и lParam можно передавать id мастер записи, индекс или любую другую идентификацию мастер записи.
Автор: KIRILLKV
Дата сообщения: 07.06.2006 14:09
Есть проблема определения состояния редактирования ячейки TableView в обработке события BeforePost DataSet-a. Сейчас, для записи данных из Editora в DataSet использую следующую конструкцию, например,
if TVSpecPRICE_DOC.Editing then
if not TVSpec.DataController.SetEditValue(TVSpecPRICE_DOC.Index, TVSpecPRICE_DOC.EditValue, evsValue) then
begin
Abort;
end;
Но нутром чую, что надо и можно как-то проще
Что посоветуете, как делаете сами?
Автор: uranic2
Дата сообщения: 08.06.2006 10:14
KIRILLKV

DataController.PostEditingData
на knowalagebase есть статья на эту тему
Автор: KIRILLKV
Дата сообщения: 08.06.2006 13:43
uranic2
Статью не нашёл, если есть её номер, то поделитесь плиз
В справке у TcxGridDBDataController нет метода PostEditingData, по исходникам - это public метод, спасибо
Автор: yuish
Дата сообщения: 08.06.2006 18:26
поставил июньских девок - появилась проблема с фаст репортом ( на майских не было, на более ранних была)
Автор: Alex47
Дата сообщения: 09.06.2006 08:48
yuish

Цитата:
поставил июньских девок - появилась проблема с фаст репортом ( на майских не было, на более ранних была)

А что за проблема, как проявляется?
Автор: yuish
Дата сообщения: 09.06.2006 08:58
Alex47
Если в проекте есть фаст и девки и сначало закрыть проект. а потом закрыть д7, то когда открываешь чистый (без проектов) д7 и потом загружаешь в него свой проект - выскакивает ошибка на то что компоненты фаста не могут быть загружены, игнорируешь это все, закрываешь д7, и открываешь заново - т.е. если дельфя грузится сразу с твоим проектом - все открывается нормально.

эксперементил с голыми проектами - просто кидал на форму 5 грид и фастовский репорт - таже картина.

Задавал вопрос в поддержку фаст репортам - помочь не смогли. проблемы не было вплодь до октябрьской версии девок, потом появилась, с майскими исчезла. с июньскими замечена была вновь.
Автор: hobest
Дата сообщения: 09.06.2006 09:10
yuish

Если Борланд пишет, что не может загрузить библиотеку, то должна быть написана и причина.
Автор: reenoip
Дата сообщения: 09.06.2006 11:23
У меня нет ФР, весь проект практически на голых девках: cxScheduler, cxGrid, cxSpreadSheetBook, и всякая мелочь. Поставил июньский инсталл - и поймал такие ошибки:
Unit cxExportSchedulerLink was compiled with a different version of cxGraphics.TcxCanvas.SetFont
Unit cxExportSchedulerLink was compiled with a different version of cxSchedulerCustomControls.TcxCustomScheduler
и т.п.

Я понимаю, несовместимость версий, и т.д..
Как это побороть? Удалить все компоненты со всех форм и собирать проект с нуля? Или есть что-то, чего я не знаю?
Подскажите, пожалуйста.
Автор: clockover
Дата сообщения: 09.06.2006 11:28
2 uranic2
>DataController.PostEditingData
>на knowalagebase есть статья на эту тему

Такой статьи(тей) нет искал в различных вариантах, может подскажешь куда еще смотреть?
Автор: ArtemiyUO
Дата сообщения: 09.06.2006 11:41
Это похоже на то, что ты не корректно удалил старую версию.
"юнит такой то скомпилен с другой версией модуля такого то", можно попробовать пересобрать все пакеты.
поищи модули cxGraphics, cxSchedulerCustomControls, они либо старые либо их по 2 чтуки рахзных на винте.
Автор: jicoff
Дата сообщения: 09.06.2006 12:34
Вообще-то у меня есть сомнения, что можно использовать DataController.PostEditingData в событии BeforePost, а именно там предлогалось использовать этот метод.
Автор: uranic2
Дата сообщения: 09.06.2006 13:57
clockover
Sorry, бес попутал
наверное лучше посмотреть метод PostEditValue
// See http://devexpress.com/Support/KnowledgeBase/ShowArticle.xml?kbid=A343&kbss=&prod=X8&tech=X2
//How to set a value of another Grid column during editing of a cell

Автор: jicoff
Дата сообщения: 09.06.2006 15:05
uranic2

Вообще-то KIRILLKV так и делает, как в этом примере.

Добавлено:
Правда если речь идет о замене TVSpec.DataController.SetEditValue... на TVSpecPRICE_DOC.PostEditValue, то будет короче и правильнее.
Автор: reenoip
Дата сообщения: 11.06.2006 09:36
ArtemiyUO, да, и из-за этого тоже, я тут напарился капитально.

Короче, если у кого-то установлен TMS planner и не устанавливается в палитру шедулер девок - нужно скрыть в настройках палитры закладку планнера от TMS. Блин, геморрой, не без этого. В моём случае, если не скрывать закладку, - шедулер девок не устанавливается. Его "как бы" нет. И активация необходимых bpl в опциях проекта ничего не даёт - они просто-напросто отсутствуют, т.е. активировать, по сути, нечего. Мистика.

И хрен его знает, что за нах...
Сейчас отключил планнер TMS, установил девок, да забил...

Добавлено:
Да, кстати, и ещё один глюк: когда устанавливаю TMS в палитру, где уже прописаны девки - TMS прописывается, компилится и устанавливается нормально (без ошибок), но в закладках компонентов TMS ничего не видно. Просто пустые пэйджи.
Выход: инсталлировать TMS в числе самых первых, т.е. вообще первыми в списке.
Ну, это так, вдруг, кто-нибудь столкнётся с таким.
Автор: Alex1978
Дата сообщения: 12.06.2006 08:09
В новых Девках новый глюк со свойством Nullable в cxCurrencyEdit и возможно других контролах. Если у кого есть горячий фикс плз в студию.
Автор: xitsmex
Дата сообщения: 12.06.2006 10:36
Здравствуйте!
Наверное, нубские вопросы, все же:
1. Как можно подсветить строку в Memo (или RichEdit) так, как это делает сама IDE, когда, например, ставим брейкпоинты или когда обнаруживает ошибку в тексте. То есть, целиком, а не только имеющийся текст? Пробую рисовать на Canvas у Memo - не выходит.
Автор: KIRILLKV
Дата сообщения: 13.06.2006 11:29
jicoff
Чтобы использовать PostEditValue необходимо получить редактор Item-a, а как это сделать в событии BeforePost ? (то, что он Editing понятно)
Автор: vshersh
Дата сообщения: 13.06.2006 12:27
Hi All
Нету ли у кого-нибудь наработок для отображения кастомных хинтов к каждой ячейке DE-грида?
Т.е. есть грид с каким-либо содержимым, необходимо отображать хинт для каждой ячейки, причем хинт должен содержать не информацию из ячейки, а какую-нибудь кастомную информацию (зависящую от содержимого ячейки). Кроме этого, хочецца чтобы хинт показывался независимо от того, влазят данные в ячейку или нет...
Надеюсь не все запутались

P.S. О перекрытии событий OnHint и т.п. знаю, но хотелось бы решить этот вопрос на более высоком уровне...

Добавлено:
Нашел ответ Здесь

Автор: jicoff
Дата сообщения: 13.06.2006 13:51
KIRILLKV

Полагаю в событии BeforePost можно использовать GridView.Controller.EditingController.Edit, а GridView.Controller.EditingController.EditingItem будет соответствовать TVSpecPRICE_DOC, при условии, что Item еще находится в состоянии редактирования.

Добавлено:
Полагаю, что вообще можно не проверять какой именно Item находится в состоянии редактирования. Надо просто проверить GridView.Controller.EditingController.IsEditing. При положительном ответе вызвать GridView.Controller.EditingController.Edit.PostEditValue.
Автор: KIRILLKV
Дата сообщения: 13.06.2006 14:45
jicoff
Согласен, про EditingController забыл
Автор: valmont
Дата сообщения: 14.06.2006 05:31
есть Grid на просмотр, т.е. редактирование добавление изменение запрещено, нужно при клике на записи менять значение полей некоторых.. в обычном гриде на OnClick весил:

table.edit
присваиваю значения
table.post

тут вылетает с ошибкой
Автор: ekemov
Дата сообщения: 14.06.2006 06:17
Вчера решил себе поставить DevExpress, после его установки Делфи свалилась намертво, пришлось переустанавливать.
Автор: hobest
Дата сообщения: 14.06.2006 09:27
valmont

Первое, что приходит в голову, пошли PostMessage своей форме на OnClick, там и редактируй. В гриде есть события, где нельзя менять DataSet, вылетает ошибка. Возможно это тот случай.
Автор: valmont
Дата сообщения: 14.06.2006 10:12
hobest
если делать через сам грид, то меняется, но последние изменения не постятся...
и еще в этом случае не всегда срабатывает OnClick, т.е. кликаю на запись и ничего, потоврно кликаю.. срабатывает
Автор: jicoff
Дата сообщения: 14.06.2006 10:53
valmont

Возможно поможет метод DataController.PostEditingData ранее здесь обсуждавшийся.
Автор: valmont
Дата сообщения: 14.06.2006 11:14
jicoff

вприныпе да, ошибки нет.. но опять же последние изменние не постится...
и еще:
на первый клик по записям ничего не просиходит, на творой редатируются, на третий опять ничего и т.д.... через раз работает..
Автор: jicoff
Дата сообщения: 14.06.2006 13:01
valmont

Не совсем понял, во всех столбцах не постятся или в последнем измененном столбце?

А почему обязательно на двойной щелчек нужно редактировать, зачем такая сложность. Можно запретить появление редактора на первый клик, зато разрешть на второй, т.е разрешить редактировать нужные поля и выставив GridView.OptionsBehavior.ImmediateEditor = false.

Добавлено:
На счет двойного щелчка погорячился, о нем не было речи.

Добавлено:
Вообще еще раз внимательно прочитал первый пост. Почему нельзя просто запретить редактировать одни поля и разрешить редактировать другие?
Автор: valmont
Дата сообщения: 14.06.2006 15:09
jicoff

редактировать нельзя вообще никакие поля...
нужно когда мышкой кликаешь на сами записи менять поле одно
вешаю на onClickCell и срабатывает почему что через раз.. при том что последние изменение не постится вообще..
пишу
table.edit
присваиваю значение и все.. сам грид постит, с методом DataController.PostEditingData тоже не постит последнее значение

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


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