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

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

Автор: vetal71
Дата сообщения: 03.04.2012 11:52
всем привет.
может есть у кого локализованные pas файлы для девок 2011.2.3 ?
Автор: Czechoslovak
Дата сообщения: 03.04.2012 13:21
vetal71
В варезнике в копилке есть DevExpress.v2011.2.5.Rus.Lib......Постов я думаю Вам хватит
Автор: simplecs
Дата сообщения: 03.04.2012 16:29
Здравствуйте! Подскажите, пожалуйста, как в cxgrid сделать объединение общего нижнего footer-а на все видимые столбцы. Ну чтобы была одна строка с итогами. А то у меня текст длинный и не влазит в короткий footer
Автор: mdid
Дата сообщения: 03.04.2012 16:48
simplecs
по моему не как..но я точно не уверен...но как вариант выведите свой тотал
Автор: simplecs
Дата сообщения: 03.04.2012 18:12
mdid
А можно пример кода?
Автор: mdid
Дата сообщения: 03.04.2012 18:21
simplecs
пример чего? пример того как положить компонент на форму и вывести в него результат?
могу поделиться тем как я выводил суммы в банковских выписках...создавал для сумм dxBar с компонентами типа Label (Приход/Расход/Разница)...создавал сумму по колонкам приход/расход...делал их невидимым...при изменении значения в этих колонках делал footer.visible:=true и сразу же footer.visible:=false...при этом считывал сумму в событии суммирования колонки и выводил их в dxBar...выглядит на много красивее нежели стандартный футер +на dxBar можно извращаться как угодно
Автор: simplecs
Дата сообщения: 03.04.2012 18:38
я понял.....но ко мне это не подходит....потом надо на печать выводить.....а одновременно dxbar и cxgrid - там хрен выведешь. Мне нужно в самом cxgrid создать свой footer чтоб потом при печати просто подключить его в целом
Автор: ant0ni02004
Дата сообщения: 03.04.2012 19:52
simplecs

ну как-то так


Код:
...
FooterText:=DupeString('бла-',30);
...
procedure TForm1.cxGrid1DBTableView1CustomDrawPartBackground(
Sender: TcxCustomGridTableView; ACanvas: TcxCanvas;
AViewInfo: TcxCustomGridCellViewInfo; var ADone: Boolean);
var
AText: string;
R: TRect;
begin
if AViewInfo is TcxGridFooterViewInfo then begin
R := AViewInfo.Bounds;
ACanvas.Canvas.FillRect(R);
ACanvas.DrawText(FooterText, R, cxAlignLeft or cxAlignVCenter);

ADone := True;
end;
end;

procedure TForm1.dxComponentPrinter1Link1CustomDrawFooterCell(
Sender: TdxGridReportLink; ACanvas: TCanvas; AView: TcxGridTableView;
ARecord: TcxCustomGridRecord; AColumn: TcxGridColumn; ALevel: Integer;
AnItem: TdxReportCellString; var ADone: Boolean);
var
ARect: TRect;
begin
if AColumn <> cxGrid1DBTableView1NAME then
Exit;
ARect := AnItem.BoundsRect;
Sender.DrawText(ACanvas, ARect, 0, FooterText, AnItem.Font, AnItem.Color, taLeft, taCenterY, True, False, False);
ADone := True;
end;

procedure TForm1.dxComponentPrinter1Link1InitializeFooterCell(
Sender: TdxGridReportLink; AView: TcxGridTableView;
ARecord: TcxCustomGridRecord; AColumn: TcxGridColumn; ALevel: Integer;
AnItem: TdxReportCellString);
var
ARect: TRect;
begin
if AColumn <> cxGrid1DBTableView1NAME then
Exit;
ARect := AnItem.BoundsRect;
ARect.Right := ARect.Right + AView.ViewInfo.Canvas.TextWidth(FooterText);
AnItem.BoundsRect := ARect;
end;

procedure TForm1.dxComponentPrinter1StartGenerateReport(Sender: TObject;
AReportLink: TBasedxReportLink);
begin
cxGrid1DBTableView1NAME.Summary.FooterKind := skCount;
end;

procedure TForm1.dxComponentPrinter1EndGenerateReport(Sender: TObject;
AReportLink: TBasedxReportLink);
begin
cxGrid1DBTableView1NAME.Summary.FooterKind := skNone;
end;

Автор: vetal71
Дата сообщения: 04.04.2012 07:46
Czechoslovak
Спасибо. Но к сожалению не хватает постов
Автор: neznayka3
Дата сообщения: 04.04.2012 07:53
пара вопросов по dxLayoutControl
1 как сделать, чтобы все контролы на форме занимали всю ширину? поставил AutoContentSize но растягиваются только группы, а не контролы в них.
2 как LayoutGroup задать ширину? Ставил в SizeOptions - не помогает.
Автор: andreybear
Дата сообщения: 04.04.2012 11:29

Цитата:
1 как сделать, чтобы все контролы на форме занимали всю ширину? поставил AutoContentSize но растягиваются только группы, а не контролы в них.

Свойства AlignHorz, AlignVert.

Цитата:
2 как LayoutGroup задать ширину? Ставил в SizeOptions - не помогает.

А в AssignedValues проставили true?
Настройка LayoutGroup:
Ссылка
Вид границы, если есть возможность изменить размер:
Ссылка
Автор: Czechoslovak
Дата сообщения: 04.04.2012 14:56
vetal71
Как не хватает если у тебя 242, а там под 150?
Автор: vetal71
Дата сообщения: 04.04.2012 19:52
Czechoslovak
Посты учитываются только в ветках связанных с программированием, таких у меня 100
Автор: mdid
Дата сообщения: 05.04.2012 11:09
в силу обстоятельств надо словить нажатие пкм на dxBarButton..как?
пробовал сделать свой класс на основе TdxBarButton и всунуть туда ловлю события пкм..но беда в том что вываливается AV при NewItemLink.Item :=but;
Автор: neznayka3
Дата сообщения: 05.04.2012 13:15
при cxLookupComboBox1.PopupWindow.Popup получаю AV без него работает, но PopupWindow не открывается при вводе.

Код: procedure TfmOrd.cxLookupComboBox1PropertiesChange(Sender: TObject);
var
str: string;
begin
str := cxLookupComboBox1.Text;
str := trim(str);

if (Length(str)) > 1 then
begin
with qCustomerSelect do
begin
Close;
SQL.Clear;
SQL.Add('select * from "table" where lower("name") like lower('''+ str + '%'');');
Open();
end;
cxLookupComboBox1.PopupWindow.CloseUp;
cxLookupComboBox1.PopupWindow.Popup(cxLookupComboBox1); // AV
end
else
begin
qCustomerSelect.Close;
end
end;
Автор: mdid
Дата сообщения: 05.04.2012 13:48
neznayka3
cxLookupComboBox1.PopupWindow.Show; ?
сейчас проверить не могу..но кажется было что то подобное
Автор: neznayka3
Дата сообщения: 05.04.2012 14:36

Цитата:
cxLookupComboBox1.PopupWindow.Show;

есть такое, открывается в верхнем левом углу экрана) и сам не закрывается. CloseUP, Hide, ClosePopup как то с ним не дружат.
Автор: marser
Дата сообщения: 06.04.2012 06:58
neznayka3
cxLookupComboBox1.DroppedDown := True
Автор: andreybear
Дата сообщения: 06.04.2012 08:05
mdid

Цитата:
в силу обстоятельств надо словить нажатие пкм на dxBarButton..как?
пробовал сделать свой класс на основе TdxBarButton и всунуть туда ловлю события пкм..но беда в том что вываливается AV при NewItemLink.Item :=but;


Код: procedure TFormMain.FormCreate(Sender: TObject);
begin
// ...
Application.OnMessage := onAnyMessage;
// ...
end;

procedure TFormMain.onAnyMessage(var Msg: TMsg; var Handled: Boolean);
var AWinCtrl: TWinControl;
ABarCtrl: TdxBarControl;
begin
if (Msg.message = WM_RBUTTONDOWN) then
begin
AWinCtrl := FindControl(Msg.hwnd);
if AWinCtrl is TdxBarControl then
begin
ABarCtrl := TdxBarControl(AWinCtrl);
if Assigned(ABarCtrl.BarManager.SelectedItem) then
if ABarCtrl.BarManager.SelectedItem.Item = btnCreate then
ShowMessage('Щелчок правой кнопкой по btnCreate.');
end;
end;
Handled := False;
end;
Автор: mdid
Дата сообщения: 06.04.2012 08:17
andreybear
попробую что то выжать из этого...спасибо...просто у меня есть юнит который описывает действия mdi форм..и все события с этой формой(в том числе и кнопки) описываются в этом юните и с классом Application он не связан...лана пасиб...ща попробую как то связать
--------
ура...заработало...еще раз спасибо...а то я кнопки на dxbar добавлял по средством контейнера в котором cxbutton у которого можно обработать пкм
Автор: neznayka3
Дата сообщения: 06.04.2012 09:32
возможно в TcxDBLookupComboBox перед значением вставить картинку?
Автор: mdid
Дата сообщения: 06.04.2012 10:01
поторопился...плохо отрабатывает(( если нажать пкм на первую кнопку а потом на вторую..то для второй появится меню первой(...не срабатывает выделение второй кнопки при клике
Автор: andreybear
Дата сообщения: 06.04.2012 10:38
mdid
У меня все отрабатывает. А можно код?
Автор: mdid
Дата сообщения: 06.04.2012 10:58
http://rghost.ru/37434208
нажмите на кнопку 2 и когда появится меню - на кнопку 1
Автор: neznayka3
Дата сообщения: 07.04.2012 03:41
хочу чтобы было так для рисунка можно использовать простой cxImage. как сместить тескт?
Автор: X11
Дата сообщения: 09.04.2012 13:39
Кто-нибудь использовал TcxDBTreeList совместно с TUniQuery (IniDAC)?

Проблема проявляется во время исполнения программы.

Если во время исполнения программы вызвать Open, то 16 раз появляется такое сообщение:

Цитата:
Project raised exception class EVariantTypeCastError with message 'Could not convert variant of type (Null) into type (Integer)'.


структура таблицы в MySQL простая:

Код: CREATE TABLE kvartal_prem.rub(
id INT(11) NOT NULL AUTO_INCREMENT,
id_parent INT(11) DEFAULT NULL,
rub_name VARCHAR(255) DEFAULT NULL,
rub_code VARCHAR(255) DEFAULT NULL,
stateindex INT(11) DEFAULT NULL,
imageindex INT(11) DEFAULT NULL,
PRIMARY KEY (id)
)
ENGINE = MYISAM
AUTO_INCREMENT = 1
CHARACTER SET utf8
COLLATE utf8_general_ci;
Автор: mdid
Дата сообщения: 09.04.2012 14:33
X11
1. попробуйте тип колонки в TcxDBTreeList поставить как variant
2. возможно в TcxDBTreeList есть какие то обработки событий где идет явная попытка загнать в integer значение null?
Автор: X11
Дата сообщения: 09.04.2012 15:00
Самое интересное, что в дизайне всё работает.

Добавлено:
mdid, тип какой колонки? ID?

Добавлено:
И у TcxDBTreeListColumn не ValueType
Автор: AlexCoRu
Дата сообщения: 09.04.2012 22:59
Из справки по TcxTreeListOptionsData.Inserting

Цитата:
Set this property to True, to allow end-users to:
Insert nodes using the Ins key. Nodes are inserted before the currently focused node, at the same nesting level.
Append nodes using the Ctrl+Ins key combination. Nodes are appended at the same nesting level as the currently focused node.Insert or append nodes using the cxNavigator linked to the TreeList control

Это верно для TcxDBTreeList и TcxDBNavigator? У меня ноды не добавляются, только вставляются в обоих случаях.

Разобрался. Через OnInitInsertingRecord всё делается.
Автор: Man_Without_Face
Дата сообщения: 10.04.2012 11:27
На старых DevExpress v52 и Win XP sp3 + Delphi 2009 все работало нормально.
Теперь на DevExpress.VCL.2011.vol.2.4 + 7 32bit + Delphi XE2 вылетает ошибка Project1.exe raised exception class EdxTestException with message 'RestoreDC fails'. Это выдает cxGraphic.pas. Кто с таким сталкивался и как это лечиться?

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

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


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