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

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

Автор: jicoff
Дата сообщения: 13.11.2008 15:00
X11

Сижу на старых девках (еще декабрьские 2006), все экспортируется в соответствии с раскраской и атрибутами шрифтов в гриде.

Добавлено:
DiabloR

Вероятно данные для всех уровней загружаются сразу в DataSet'ы. Тоже решил попробовать такой метод, для ускорения работы. У меня 2 уровня, когда в мастере 1 запись - в детейле отображается все правильно, когда больше - только по одной записи. Не знаю в чем дело, обычно использую DetailInSQLMode с назначением событий OnDetailFirst и OnDetailIsCurrentQuery, проблем нет. Если решишь проблему, отпиши сюда.

Вообще больше 2-х уровней не имеет смысла делать. Пользователи плюются, да и сам начинаешь путаться, когда много скролбаров появляется по вертикали и горизонтале. Пришлось в одном проекте отказаться от уровне > 2.
Автор: samusev
Дата сообщения: 13.11.2008 18:30
Опять Риббон.

Как сделать маленькую кнопочку Help справа на линейке Табов? возможно такое?
А ля Office2007

Весь Хелп по Риббону испещрен скринами с такой кнопкой, а по тексту- ни слова, ни линка

==== вопрос снят ====
type
TdxRibbonEvent = procedure(Sender: TdxCustomRibbon) of object;

property OnHelpButtonClick: TdxRibbonEvent;


Description

If this event is handled, the Help button is displayed at the far right side of the Ribbon.

Note that this button is only displayed at run-time.

Implement the OnHelpButtonClick event handler to respond to the Help button click.
Автор: freimanis
Дата сообщения: 14.11.2008 07:49

Цитата:
Здравствуйте!
He-e-e-e-e-e-e-e-e-elp! Посидел уже.
Есть БД на основе Access, 4 таблицы, в проекте 1 cxGrid, 4 уровня
Level1
|_Level2
|_Level3
|_Level4
Все соединил вроде верно.
DetailKeyFieldName, KeyFieldNames, MasterKeyFieldsNames. Косяк в том что в 2-3-4 уровнях отображается только по 2 записи, добавляю новую, она в таблицу записывается с верными ключами, но в cxGrid'e не появляется.
Девки майские

Эта проблема возникает из-за того, что дочерчний набор неотсортирован по parent-ключу.
Автор: X11
Дата сообщения: 14.11.2008 09:36
freimanis, точно, +1, я так же долбался с деревом, пока не прочёл документацию!!!!
Автор: jicoff
Дата сообщения: 14.11.2008 12:06
freimanis

От себя еще +1 добавлю. Т.к. у меня никогда проблем не было с мастер-детейл, использовал другой способ, никогда бы не пришло в голову прочитать матчасть, а так можно мучаться до посинения. Хотел уже бросить оптимизировать программу.
Автор: Felias_Fogg
Дата сообщения: 14.11.2008 15:22
Dev Express .38 версии. ExpressBars - 6-я версия.
В Run-time можно открыть дизайнер меню и добавлять в него команды из уже имеющихся.
Добавить подменю (Submenu) однако, можно только во время разработки. Добавляется TdxBarSubItem
А как его добавить в Run-time?
Можно ли как-то получить доступ к Customization Form или надо свою создавать? это сильно много писанины
Автор: xokc
Дата сообщения: 15.11.2008 17:16
Felias_Fogg
Я понимаю, кончено, newbie и т.д. Но неужели проще в форум бредятины написать и ждать пока народ поймет, что именно тебе нужно, чем почитать Help? Или тебе посты для копилки негде набрать?
ЕСЛИ Я ПРАВИЛЬНО ПОНЯЛ ВОПРОС - то (цитирую Help)

When coding, you should create a link to the button within a toolbar. The following code snippet adds a button to the first dxBarManager toolbar.


// Delphi
// ...
procedure TForm1.AddButtonClick(Sender: TObject);
begin
with dxBarManager do
begin
BeginUpdate;
try

with Bars[0].ItemLinks.AddButton do
begin
Item.Caption := '&File';

UserPaintStyle := psCaption;
end;
finally

EndUpdate;
end;

end;
end;

SubItem добавляется аналогично. Читайте Help - там много всего интересного.
Автор: infomSB
Дата сообщения: 19.11.2008 13:44
Подскажите кто делал.
Скачал Помощь в девкам по адресу http://www.devexpress.com/Downloads/VCL/Help/HLP/VCLSubscriptionWinHelpFiles.zip

Но не имею представление как интегрировать эти хелп файлы в Delphi ?

Имею BDS 2006 и Vista .
Автор: f3ka
Дата сообщения: 19.11.2008 14:08
infomSB думаю что лучше качнуть файлы от feandy... там будет автоинсталл в конкретную среду...
Автор: brahmanda
Дата сообщения: 19.11.2008 15:18
Есть связка cxScheduler+cxSchedulerDBStorage
Я выделяю нужное время и хочу програмно добавить в него событие, как это сделать ?
Спасибо.
Автор: infomSB
Дата сообщения: 19.11.2008 15:34
f3ka
Под файлами от feandy подразумевается версии что лежат в обменнике, или другие ? Я использую DevExpr_23_may_2008 из обменника, компоненты инсталлятся, а вот хэлпа нет никакого.
Автор: brahmanda
Дата сообщения: 19.11.2008 16:39
хелп по cxScheduler
http://www.devexpress.com/Downloads/VCL/Help/CHM/ExpressSchedulerSuiteV3HtmlHelpFiles.zip
Автор: f3ka
Дата сообщения: 19.11.2008 16:52
infomSB нет, не из обменника, а из темы соответствующей
Это HTML HELP

Цитата:
hxxp://rapidshare.com/files/165266130/DevExpr_13_nov_2008_HTML_Help.part01.rar
hxxp://rapidshare.com/files/165266131/DevExpr_13_nov_2008_HTML_Help.part02.rar
hxxp://rapidshare.com/files/165266132/DevExpr_13_nov_2008_HTML_Help.part03.rar
hxxp://rapidshare.com/files/165266133/DevExpr_13_nov_2008_HTML_Help.part04.rar
hxxp://rapidshare.com/files/165266134/DevExpr_13_nov_2008_HTML_Help.part05.rar
hxxp://rapidshare.com/files/165266135/DevExpr_13_nov_2008_HTML_Help.part06.rar
hxxp://rapidshare.com/files/165266136/DevExpr_13_nov_2008_HTML_Help.part07.rar
hxxp://rapidshare.com/files/165266137/DevExpr_13_nov_2008_HTML_Help.part08.rar
No Repack, No Mirror


А вот демки и хелпы в формате HLP


Цитата:
hxxp://rapidshare.com/files/164321331/DevExpr_v40_13.11.2008_Demos.part1.rar
hxxp://rapidshare.com/files/164321332/DevExpr_v40_13.11.2008_Demos.part2.rar

hxxp://rapidshare.com/files/164321333/DevExpr_v40_13.11.2008_Help.part1.rar
hxxp://rapidshare.com/files/164321334/DevExpr_v40_13.11.2008_Help.part2.rar
hxxp://rapidshare.com/files/164321335/DevExpr_v40_13.11.2008_Help.part3.rar
hxxp://rapidshare.com/files/164321336/DevExpr_v40_13.11.2008_Help.part4.rar
hxxp://rapidshare.com/files/164321337/DevExpr_v40_13.11.2008_Help.part5.rar
hxxp://rapidshare.com/files/164321338/DevExpr_v40_13.11.2008_Help.part6.rar
hxxp://rapidshare.com/files/164321339/DevExpr_v40_13.11.2008_Help.part7.rar

No Repack No Mirror.


З.Ы. В старых топиках думаю можно найти ссылки на хелпы и демки от вашей версии...
Автор: zvyagaaa
Дата сообщения: 20.11.2008 06:04
оффтоп
xokc
а я уж думал, что я один не понял, что человек написал
Автор: igorknst
Дата сообщения: 20.11.2008 10:50
Кто-нибудь сталкивался с такой задачей
1. Надо cxGrid выкинуть в Excel
2. Добавить шапку с параметрами с формы
ExportGridToExcel тупо пишет все с ячейки 1,1,
а PrintingSystem не экпортирует в Excel.
Есть решение ?
Автор: clear2121
Дата сообщения: 20.11.2008 12:14
Ни разу не требовалось, а сейчас понадобилось.
Есть cxGrid. Как мне в нём сделать поиск и, если нашёл, перейти на эту запись.

Спасибо!
Автор: X11
Дата сообщения: 20.11.2008 12:23

Цитата:
2. Добавить шапку с параметрами с формы

Этот как? Что такое параметры формы? Параметры окна на которой лежит грид?


Цитата:
ExportGridToExcel тупо пишет все с ячейки 1,1,

а это как понять?
Автор: pshen_d
Дата сообщения: 20.11.2008 12:25
У меня вопрос. Компонент cxGrid отображаются 4 таблицы связанные Master->Details (Master - Table1, Details - Table2, Table3, Table4). После обновления DataSet фокус переходит на первую запись Table1. Собственно вопрос как его вернуть на запись, на которой он был до обновления DataSet.
Понимаю что ответ уже давали но найти не могу.
Автор: jicoff
Дата сообщения: 20.11.2008 12:33
igorknst

Пока только открывать готовый файл по OLE в ехеле и править из клиента
Автор: A7exander
Дата сообщения: 20.11.2008 12:34
igorknst

можно сделать как у меня:


Код: procedure SendToExcel(PageOrient:integer);
// PageOrient 1 - альбомная, 2 - книжная
var
tmp : string;
Range, Sheet, Excel, v: Variant;
begin
// сохраняем в EXCEL
tmp := GetCurrentDir + '\temp\';
ForceDirectories(tmp);
tmp := tmp+FormatFloat('0.000000',now)+'.xls';
ExportGridToExcel(tmp,cxGrid);

// открываем отчет в Excel и форматируем страницу
Excel := CreateOleObject('Excel.Application');
Excel.Workbooks.Open(tmp);
Sheet := Excel.Workbooks[1].Sheets[1];
// Форматируем страницу
Sheet.PageSetup.LeftMargin := 16;
Sheet.PageSetup.RightMargin := 16;
Sheet.PageSetup.TopMargin := 16;
Sheet.PageSetup.BottomMargin := 30;
Sheet.PageSetup.Orientation := PageOrient;
// Выводить отчет не более чем в 1 страницу по ширине
Sheet.PageSetup.Zoom := False;
Sheet.PageSetup.FitToPagesWide := 1;
Sheet.PageSetup.FitToPagesTall := 1000;
// Печать номеров страниц
Sheet.PageSetup.FooterMargin := 16;
Sheet.PageSetup.CenterFooter := 'стр &С из &К';

Excel.Visible := true;
end;
Автор: X11
Дата сообщения: 20.11.2008 13:50
pshen_d, запоминай ID, а потом Locate
Автор: igorknst
Дата сообщения: 20.11.2008 14:11
A7exander
jicoff
Спасибо
Просто я надеялся, что есть стандартное решение типа xlReport. Увы...
Автор: pshen_d
Дата сообщения: 20.11.2008 14:29
X11 запомнить ID нет проблем но как на запись фокус поставить, как определить на какой таблице курсор стоял до обновления DataSet. Может я не правильно объяснил проблему. У меня в cxGrid получается 2 уровня. Первый Table1 организация. Второй в виде закладок Table2 прейскурант, Table3 счета и т.д. Если курсор стоял на организации не проблема, а вот ели курсор стоял на записи прейскуранта или на записи счета?
Автор: X11
Дата сообщения: 20.11.2008 14:42

Цитата:
как на запись фокус поставить,


Код: cxGrid.SetFocus
Автор: pshen_d
Дата сообщения: 20.11.2008 14:50
X11
Большой спасибо.
Я забыл указать я с этими компонентами недавно познакомился. Маленький кусочек кода можно.


Цитата:
запоминай активную закладку

Автор: zvyagaaa
Дата сообщения: 20.11.2008 16:30
Здравствуйте.
Есть задача. Есть компонент DbTreeView. В нем надо отображать данные из таблицы. Но немного хитро.
Надо, чтобы если есть children у узла, то отображать один текст, если нет, то другой.
Вот немного подкорректированный код из Demos. Но он, зараза такая, не работает. не пойму почему.
Причем в хелпе есть подобный код, но и он не пашет.



Код:

procedure TForm1.DBTreeView1SetDisplayItemText(Sender: TObject;
var DisplayText: string);
Var
tr : TTreeNode;
begin
// Get TreeNode
tr := DBTreeView1.DBTreeNodes.GetDBTreeNode(T1.FieldByName('Pr_ID').Value);
if tr <> Nil then
    begin

     if tr.HasChildren =true then
     DisplayText := 'Yest children. ' + DisplayText else
     DisplayText := 'Ya children. ' + DisplayText;
    end;
end;

Автор: merphy69
Дата сообщения: 20.11.2008 16:46
добрый вечер, уважаемые!

подскажите пожалуйста, как сделать чтобы после редактирования ячейки грида, менялось значение в к\либо другой ячейке, в зависимости от значения в измененной ячейке.

заранее благодарен.
Автор: jicoff
Дата сообщения: 20.11.2008 17:01
merphy69

DataController.GetEditValue(ColumnIndex, evsValue)

и

DataController.SetEditValue(ColumnIndex, Value, evsValue)

Добавлено:
zvyagaaa

Не понятно, откуда известно, что T1.FieldByName('Pr_ID').Value - это то что нужно. Ведь это текущая запись в датасете, а отрисовка текста идет по всему дереву.
Автор: zvyagaaa
Дата сообщения: 20.11.2008 17:53
jicoff
а как тогда мне получить Id этой записи?
Автор: korobovmax
Дата сообщения: 20.11.2008 19:17
zvyagaaa,
попробуйте не у дерева узнавать, если чайлды, а выполнять запрос самостоятельно. В том же самом обработчике, в котором текущий код есть.

(к ответу jicoff мой ответ отношения не имеет)

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667686970717273747576777879808182

Предыдущая тема: Язык программирования на русском языке


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