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

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

Автор: k94kwk1
Дата сообщения: 28.03.2012 08:05
ant0ni02004
К сожалению эти пункты отключают кнопки только в выпадающем главном меню при использовании панели типа Ribbon. А мне необходимо чтобы они скрывались и из меню....не знаю как его назвать, но которые пользователь видит все-время - не нажимая на какие либо кнопки
Автор: crazypiggy
Дата сообщения: 28.03.2012 10:18
Добрый день. Не подскажите можно ли вывести на cxGrid что то типа водяного знака. Ставлю Style BackGround рисунок но он выводится только в пустой области Grida а там где есть строки этот рисунок не отображается.
Извините, сам разобрался
Автор: exteris
Дата сообщения: 28.03.2012 11:04
crazypiggy
Styles Content
Автор: ant0ni02004
Дата сообщения: 28.03.2012 15:26
k94kwk1

ну остаются кнопки масштаба и колонтитулы, есть такое дело
тогда в OnBeforeDesignReport химичить с параметром в котором окно дизайнера

Код:
ADesignWindow: TAbstractdxReportLinkDesignWindow
Автор: mdid
Дата сообщения: 28.03.2012 16:14
есть панель из dxBarManager...есть какое то свойство которое делает отступ иконки кнопки от надпили...а то пробелами лениво как то
и можно ли как то настроить ширину dxBar когда он вертикальный?
черт чет меня понесло...и как сделать выравнивание текста по левому краю на том же dxBar на котором кнопки?а то все центрует
Автор: neznayka3
Дата сообщения: 29.03.2012 01:34
создаю DockControl для dxBar. NotDocking=[dsNone] но в пределах приложения его можно таскать. как прибить бар, чтобы его нельзя было двигать?
Автор: k94kwk1
Дата сообщения: 29.03.2012 19:18
Здравствуйте! Подскажите пожалуйста
При использовании ExpressPrinting System
Пользователь может на создавать различные параметры отчета – заголовки колонтитулы и проч. Со своими шрифтами и оформлением. Соответственно при повторной загрузке программы все эти настройки пропадают. А как сделать так чтобы они сохранялись в БД а потом автоматически доставались оттуда. Можно ли так вообще сделать?
Автор: marser
Дата сообщения: 30.03.2012 06:38
neznayka3

Цитата:
создаю DockControl для dxBar. NotDocking=[dsNone] но в пределах приложения его можно таскать. как прибить бар, чтобы его нельзя было двигать?

dxBar.NotDocking=[dsNone] как раз и разрешает docking куда угодно. Если хотите, например, только к верхнему краю, то dxBar.NotDocking=[dsLeft,dsRight,dsBottom]
Автор: Czechoslovak
Дата сообщения: 30.03.2012 10:43
k94kwk1

Все параметры страницы прописываются в свойстве PrinterPage (TdxPrinterPage), так что можешь менять менять, сохранять и т.д. Заголовок в ReportTitle (TdxReportTitle).
Автор: k94kwk1
Дата сообщения: 30.03.2012 13:09
Czechoslovak
Спасибо!
Не понятно как сохранить все эти свойства в отдельный файл или БД? Не перебирать же все....там одних параметров шрифтов около десятка
Автор: Czechoslovak
Дата сообщения: 30.03.2012 14:32
k94kwk1
Сохраняй все сразу в BLOB поле через поток.....PrinterPage.SaveToStream(Stream);.....PrinterPage.LoadFromStream(Stream);
Автор: ant0ni02004
Дата сообщения: 30.03.2012 14:34
k94kwk1

у него есть свои SaveToFile/SaveToStream и соотв. LoadFromFile/LoadFromStream
ну и т.к. это TPersistent - то и дельфовые WriteComponent/ReadComponent
Автор: k94kwk1
Дата сообщения: 30.03.2012 14:44
Никогда не работал с такой штукой....
Посомтрел Help Сделал все как там написано:
поставил на форму dxPSEngineController1
а в нем указал IniFileName - C:\settings.ini
и
StorageFile - ini file
Загрузил свою форму затем preview. Пригрался с тем что добавил свой Header а также изменил Margins нижний. Закрыл форму, открыл ее еще раз - изменений нет!
Что я делаю неверно?

А пример использования можно какой какой-нить?
Автор: Czechoslovak
Дата сообщения: 30.03.2012 15:14
k94kwk1
Не давно в ветке FastReport обсуждали (с примерами) как хранить отчеты в базе...то же самое и у тебя

А если про файл то тебе же написал что есть свои методы SaveToFile/LoadFromFile, чего мучатся?
Автор: k94kwk1
Дата сообщения: 30.03.2012 17:11
Czechoslovak
Посмотрю.....но мне надо не сами отчеты хранить в БД, а все настройки которые пользователь с ними делает (header, footer с тестами шрифтами выравниваниями и проч.)
Автор: ant0ni02004
Дата сообщения: 30.03.2012 17:53
k94kwk1

чтение настроек из блоба

Код:
....
TBlobField(yourField).SaveToStream(AStream);
AStream.Position:=0;
dxPrinterPage.LoadFromStream(AStream);
...
Автор: Kniaz2011
Дата сообщения: 31.03.2012 06:58
Всем привет, можете подсказать такую вещь. используя cxlookupcombobox. в листсорс заношу datasource (связан с adoquery), в listcolumns делаю колонку с нужным полем,заполняю keyfiledname, ListFieldNames задаю имя поля которое показывается(совпадает с listcolumns.fieldname). Если все это делать до запуска программы то все прекрасно работает, программа запускается, значения появляются и при выборе значения оно становится в cxlookupcombobox. НО если при работе с программой изменить adoquery, то значения в cxlookupcombobox выбрать уже почемуто нельзя. хотя они в него подгружаются. но выбрать их нельзя.. всегда показывает только первое значение. почему?
Автор: mdid
Дата сообщения: 31.03.2012 09:49
скорее всего keyfiledname у второго набора данных одинаковы
Автор: Kniaz2011
Дата сообщения: 31.03.2012 13:39
Оказывается надо было в запросе выбирать и кейфиелднаме...ЗАКРЫТО.
Автор: k94kwk1
Дата сообщения: 31.03.2012 16:02
ant0ni02004
Я прошу прощения два дня просидел и безрезультатно. Вы могли бы дать пример с blob и ADO


Вот пишу, например, так:

Код:
Var
Astream:TStream;
begin
dxComponentPrinter1Link1.SaveDataToStream(Astream);
ADOTable1.Edit;
TBlobField(ADOTable1.FieldByName( 'Pi' )).LoadFromStream(Astream);
ADOTable1.Post;
end;
Автор: ant0ni02004
Дата сообщения: 31.03.2012 16:30
k94kwk1

Цитата:
первой строке возникает ошибка

ээээ, а кто будет создавать AStream?


Код:
Var
AStream:TStream;
begin
AStream:=TMemoryStream.Create;
try
dxComponentPrinter1Link1.SaveDataToStream(AStream);
AStream.Position:=0;//и это нужно!
ADOTable1.Edit;
TBlobField(ADOTable1.FieldByName( 'Pi' )).LoadFromStream(AStream);
ADOTable1.Post;
finally
AStream.Free;
end;
end;
Автор: k94kwk1
Дата сообщения: 31.03.2012 16:41
ant0ni02004
Ну да....я параллельно догадался....
Спасибо!
А вот код загрузки.

Код:
Var
Astream:TstringStream;
begin
ADOTable1.Open;
Astream:=TStringStream.Create(ADOTable1.FieldByName('Pi').asstring);
ADOTable1.Close;
{}
dxComponentPrinter1.LoadFromStream(Astream) ;
{}
FreeAndNil(Astream);
end;
Автор: ant0ni02004
Дата сообщения: 31.03.2012 16:51
k94kwk1

а что вылетает?

1. вместо TStringStream использовать TMemoryStream
2. перед загрузкой из потока устанавливать ему Position в 0


Код:
Var
AStream:TMemoryStream;
begin
AStream:=TMemoryStream.Create;
try
ADOTable1.Open;
TBlobField(ADOTable1.FieldByName('Pi')).SaveToStream(AStream);
AStream.Position:=0;
dxComponentPrinter1.LoadFromStream(AStream) ;
finally
AStream.Free;
end;
end;
Автор: k94kwk1
Дата сообщения: 31.03.2012 16:57
ant0ni02004
Еще раз спасибо! получилось!
Автор: ant0ni02004
Дата сообщения: 31.03.2012 17:03
k94kwk1
Пожалуйста!

Ну и раз такое дело - использовать TADOTable всё-таки есть зло...
TAdoQuery куда получше будет, а еще лучше - TBetterAdoDataSet
Автор: k94kwk1
Дата сообщения: 02.04.2012 15:50
[more] [more] Здравствуйте!
У меня еще одна проблема….
Я использую dxComponentPrinter1 и мне необходимо распечатать сразу два контрола – Grid и label внизу. Проблема в том, что Grid содержит много записей, и для того чтобы все отразились на печати а потом за ними Label – я сделал так как написано на сайте devexpress: разместил их на dxLayoutControl1 его привязал к dxComponentPrinter1 и чтобы отображались все Grid – написал:

Код:
procedure TForm1.dxComponentPrinter1Link1InitializeItemOptionsPlace(
Sender: TdxCustomContainerReportLink; AnItem: TdxReportVisualItem;
AComponent: TComponent;
AOptionsPlace: TdxCustomContainerReportLinkOptionsItemPlace);
begin
AOptionsPlace.ExpandHeight := True;
AOptionsPlace.ExpandWidth := True;
end;

Автор: neznayka3
Дата сообщения: 02.04.2012 21:32
отмечаю в cxPropertiesStore полностью TcxGridDBBandedTableView и все столбцы. свойства бандов не нашел почему то. у бандов не сохраняется position/FixedKind/width. как все это сохранить и восстановить штатными средствами?
Автор: ant0ni02004
Дата сообщения: 02.04.2012 22:14
k94kwk1

ну там не только второй грид, а еще и Button2 пропал

нужно сохранять размеры (в данном случае Height обоих гридов) перед печатью и восстанавливать их после печати
Автор: neznayka3
Дата сообщения: 03.04.2012 06:29
cxPropertiesStore сохраняет только published свойства. для того, чтобы сохранялось все остальное надо использовать TcxGridDBBandedTableView.StoreToIniFile(); сейчас все настройки бандов сохраняются кроме FixedKind. как их сохранить?
Автор: andreybear
Дата сообщения: 03.04.2012 07:59
neznayka3
Может поможет:
Ссылка

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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