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

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

Автор: andreybear
Дата сообщения: 09.06.2012 11:41
Т.е. закрываете датасет, чтобы подкорректировать условие where и после открытия фильтр перестает отображать поля?
Или в любом случае при открытом dataset'e не отображает?
А без where?
Компоненты доступа к данным какие?
Автор: X11
Дата сообщения: 09.06.2012 12:10
Решил. В общем не знаю, как получилось, наверное это связано с сохранением и восстановлением настроек грида. Запустил приложение без восстановления настроек грида. Наверное грид много чего в настройках хранит.
Автор: SevereK20
Дата сообщения: 09.06.2012 12:36
Ссылка из шапки на сэмлы умерла.. может кто поделиться примерами (особенно интересует использование cxGrid'а...)
Автор: X11
Дата сообщения: 09.06.2012 13:41
Так примеры на офсайте в бесплатном доступе вроде.

Добавлено:
http://go.devexpress.com/DevExpressDownload_VclDemos.aspx

Добавлено:
Документация
https://www.devexpress.com/ClientCenter/Downloads/Documentation

Добавлено:
http://softwaretopic.informer.com/devexpress-demo-gantt-vcl/

Добавлено:
здесь тральная версия
http://go.devexpress.com/DevExpressDownload_VCLTrial.aspx
наверняка в комплекте и демо
Автор: SevereK20
Дата сообщения: 09.06.2012 15:49
X11
спасибо большое
Автор: X11
Дата сообщения: 11.06.2012 14:32
В гриде настроено так ,что пользователю разрешено увеличивать высоту строк, при этом в ячейках длинные слова переносятся на новую строку.
Когда пускаешь на печать cxGrid средствами dxComponentPrinter, то перенос на новую строку отсуттсвует. Где в настройках или в дизайнере dxComponentPrinter можно чего-нибудь подкрутить типа WordWrap?

Добавлено:

вот что я имел ввиду:


Автор: salexn1
Дата сообщения: 11.06.2012 16:20
X11
Должно по идее само работать в принте, если в самом гриде установлен Autoheight
Автор: X11
Дата сообщения: 11.06.2012 16:40

Цитата:
само работать в принте, если в самом гриде установлен Autoheight


Мне в гриде Autoheight строк не требуется, у меня 90% стандартная высота строк. Пользователь САМ решает, какая высота строк ему нужна.
Автор: makz
Дата сообщения: 11.06.2012 16:44
X11
AutoHeight в OptionsPreview True?

Добавлено:

Цитата:
Мне в гриде Autoheight строк не требуется

Тогда перед печатью включай, потом выключай.
Автор: salexn1
Дата сообщения: 11.06.2012 16:58
X11
Нет autoheight - тогда не будет печатать с переносами

makz
OptionsPreview - это не совсем то (точнее - совсем не то)

Автор: makz
Дата сообщения: 11.06.2012 17:20
salexn1
Разумеется имелось ввиду OptionsPreview в PrinterLink, и разумеется это оно самое.
Автор: salexn1
Дата сообщения: 11.06.2012 17:30
makz
OptionsPreview в PrinterLink - означает выводить ли Preview поле(есть такая опция в Grid).

З.Ы. возможно мы говорим просто о разных версиях cxGrid и Print компоненте
Автор: makz
Дата сообщения: 11.06.2012 17:58
Я о tdxgridreportlink->optionspreview->autoheight.
Хотя, видимо вы правы, оно не причем. Мне нечем проверить дома.
Автор: X11
Дата сообщения: 12.06.2012 09:06

Цитата:
Я о tdxgridreportlink->optionspreview->autoheight.


Да там включено. Не работает.

Добавлено:
Я сделал так.
Запоминаю состояние

Код: bCellAutoHeight := TcxGridDBTableView(TcxGridSite(grid).GridView).OptionsView.CellAutoHeight;
Автор: neznayka3
Дата сообщения: 12.06.2012 09:37
как восстановить положение записи во view после обновления датасета? те чтобы вверху оставалось столько же строк, сколько до обновления.

зы видел где то решение, забыл где.

Автор: mdid
Дата сообщения: 12.06.2012 09:54
neznayka3
bookmark?
Автор: X11
Дата сообщения: 12.06.2012 09:55
DataController.LocateByKey()
Автор: neznayka3
Дата сообщения: 12.06.2012 10:20
X11
mdid
не то. после обновления строка может оказаться ниже или выше прежнего положения. надо чтобы ее положение на экране осталось прежним.
Автор: mdid
Дата сообщения: 12.06.2012 10:54
neznayka3
тьху так вопрос же нормально задавайте...это уже вопросы к положению скроллинга...и кстати удобство весьма сомнительное...даже если считать положение скролла до обновления и восстановить его после то не факт что все получится...ибо в это время другой усер может добавить запись....у вас что усеры в панику бросаются если позиция съехала на 0,5 см? странно как то...может вы просто строку не выделяете?
Автор: neznayka3
Дата сообщения: 12.06.2012 11:02
mdid
выделяю. просто когда строка была внизу, а после обновления оказалась вверху, некоторые юзеры бегут и говорят, что экран дергается . хочу закрыть вопрос.
Автор: X11
Дата сообщения: 12.06.2012 11:08
neznayka3
тогда

Код: with TcxGridDBTableView do
if DataController.RecordCount > 0 then
Controller.FocusedRow.Selected := True;
Автор: mdid
Дата сообщения: 12.06.2012 11:12
neznayka3
скажите что это технически невозможно и закройте вопрос)) проблема в том что если вы приучите усеров что вы делаете для них всякий бред который и нафиг не надо то проблем у вас будет столько что потом пожалеете....наше преимущество в том что мы знаем что можно а что нет...поэтому спрыг на "это технически невозможно" у меня всегда проходит...тем более что я на 99% уверен что при обновлении+новые записи других усеров потенциально вообще снесет строку за пределы видимости...мой вам совет - не создавайте себе проблемы


Автор: neznayka3
Дата сообщения: 12.06.2012 11:24
X11

Цитата:
в общем, задайте вопрос по человечески

в наборе сотня записей, в гриде видно 30. после обновления датасета, строка, которая была выделенна и находилась вверху, стала выделенной, но внизу. надо чтобы была на той же позиции. вопрос, если в наборе оказалось меньше записей, чем 30(видимых в гриде) не рассматривается.
mdid

Цитата:
потенциально вообще снесет строку за пределы видимости

не может быть, если сделать locate.
Автор: mdid
Дата сообщения: 12.06.2012 11:34
neznayka3
при чем тут locate...вы им выставите позицию на ту запись которая вам надо...восстановление позиции скролла методами locate вас не устраивают...значит вы будете копать в сторону сохранения позиции скролла

есть таблица с сортировкой по дате
date title scrollpos
Автор: SevereK20
Дата сообщения: 12.06.2012 17:09
Подскажите, пожалуйста.. компонент cxGrid... используется для отображения данных из таблицы... поразило скудное количество опций... ни ReadOnly выставить нельзя, ни сделать выделение всей строки...
как быть в таком случае?
Автор: ant0ni02004
Дата сообщения: 12.06.2012 17:17
SevereK20
всё там есть - OptionsData.Editing, OptionsBehavior, OptionsSelection
только не у самого грида, а у View
Автор: SevereK20
Дата сообщения: 12.06.2012 17:46
ant0ni02004
нашел. блин, тупанул конкретно. спасибо
Автор: exteris
Дата сообщения: 13.06.2012 07:51
neznayka3
Почитайте про TopRecordIndex, может оно вам надо?
Автор: neznayka3
Дата сообщения: 13.06.2012 10:51
exteris
отложил пока. поставил эту "фичу" в трекере на неопределенный строк)


есть смысл ставить <dev component>.BeginUpdate/EndUpdate если есть DataSet.DisableControls/EnableControls?
Автор: salexn1
Дата сообщения: 13.06.2012 11:26
neznayka3
Однозначно - есть!!!
DataSet к действиям контрола не имеет отношения, скорее наоборот.

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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