Перейти из форума на сайт.

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)

Модерирует : ShIvADeSt

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

   

golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DevExpress

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
вообще ничего не показывает...а получаю в summary по событию OnGetText...в общем я на их футер положил TPanel закрыв это безобразие

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 09:07 25-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Radio_Kat

Цитата:
как сказать компоненту TdxNavBar использовать скины заданные в TdxSkinController?  

Явно (вручную) не указывать значение в свойство ViewStyle.SkinName и тогда скин из dxSkinController применится к TdxNavBar автоматически.
 
А ошибки у вас возникали, так как приведение типов нужно делать в соответствии со свойством ViewStyle вашего TdxNavBar. т.е.
 
if <YourdxNavBar>.ViewStyle.ClassName = 'TdxNavBarSkinNavPanePainter' then
  TdxNavBarSkinNavPanePainter(<YourdxNavBar>.ViewStyle).SkinName := 'Office2007Blue';
 
if <YourdxNavBar>.ViewStyle.ClassName = 'TdxNavBarSkinExplorerBarPainter' then
  TdxNavBarSkinExplorerBarPainter(<YourdxNavBar>.ViewStyle).SkinName := 'Office2007Blue';
 
Но опять же, этот код вам не понадобится если вы используете TdxSkinController и явно не установите свойство ViewStyle.SkinName, т.е. свойство ViewStyle.SkinNameAssigned = false;

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 11:43 25-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Radio_Kat
TdxNavBar укажите паинтер TdxNavBarSkinNavPanePainter или TdxNavBarSkinExplorerBarPainter. Имя скина он сам возьмет с контроллера.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 11:53 25-11-2009
Radio_Kat

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 
MyNavBar : TdxNavBar;
при попытке сделать:
MyNavBar.ViewStyle.SkinNameAssigned = false;
говорит undeclared identifier: 'SkinNameAssigned'
 
volser
как у TdxNavBar указать паинтер TdxNavBarSkinNavPanePainter или TdxNavBarSkinExplorerBarPainter?

Всего записей: 26 | Зарегистр. 02-06-2006 | Отправлено: 12:40 25-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Radio_Kat

Цитата:
говорит undeclared identifier: 'SkinNameAssigned'  

Скорее всего вы пытаетесь применить скин на ViewStyle, который не скинится.
Только два ViewStyle позволяют применять скин для отрисовки TdxNavBar - это SkinExplorerBarView и SkinNavigationPaneView.
 
Добавлено:
mdid

Цитата:
вообще ничего не показывает..

А где по-вашему саммари должно показываться, если вы скрывали footer.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 12:57 25-11-2009
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
показываться он и не должен...но должен хотя бы подсчитывать..а он не считает при скрытом футере..в общем панель сверху все решила

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 13:28 25-11-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Radio_Kat
dxNavBar.ViewStyle := TdxNavBarSkinExplorerBarPainter; или dxNavBar.ViewStyle := TdxNavBarSkinNavPanePainter;

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 13:47 25-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser

Цитата:
dxNavBar.ViewStyle := TdxNavBarSkinExplorerBarPainter; или dxNavBar.ViewStyle := TdxNavBarSkinNavPanePainter;
 

Так работать не будет
Для установки определенного View в runtime необходимо установить соответствующее значение (константу) в свойство  dxNavBar.View. Например,
 
uses  
  dxNavBarConsts;
...
<YourdxNavBar>.View := dxNavBarSkinExplorerBarView;
 
Список всех констант смотрите в ms-help://borland.bds5/ExpressNavBar2.BDS5/ExpressNavBar2/IDH_TcxCustomNavBar_View.htm

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:31 25-11-2009
SANiMirrorOfLight

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Сдравствуйте.
 
У меня такая проблема, в одном из столбцов грида отображается сумма денег за товар, почему-то в одном из товаров эта сумма отображается в таком виде "3028,39990234375" хотя сумма вводилась такая: 3028,4.  
Тип поля в гриде и в базе данных float, бд - fierbird.
 
Подскажите как мне от этого избавиться.
 
пс. думал попробовать настроить отображение данных до 100-ых, нашол данный вариант решения "TcxCurrencyEditProperties(cxGrdArticleHaveDBTblVwR_MONEY.Properties).DisplayFormat := ',0.00'" , поместил данный код в обработчик формы onShow, но в работе выдаёт ошибку EAccessVioletion, подразумеваю что чтото я не проинициализировал, как быть в этой ситуации? рабочий ли вариант?

Всего записей: 13 | Зарегистр. 14-10-2009 | Отправлено: 16:41 25-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SANiMirrorOfLight

Цитата:
Тип поля в гриде и в базе данных float, бд - fierbird.

Использование в БД вместо типа данных float тип NUMERIC(15,2) должно решить вашу проблему.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 17:20 25-11-2009
SANiMirrorOfLight

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 
Спасибо, помогло

Всего записей: 13 | Зарегистр. 14-10-2009 | Отправлено: 17:36 25-11-2009
Radio_Kat

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman, до меня только сейчас дошло что скины на dxNavBar. могут применяться только (!) если View = SkinExplorerBarView или SkinNavigationPaneView.  и тогда действительно просто подхватывает значение из dxSkinController.  
 
 
 

Всего записей: 26 | Зарегистр. 02-06-2006 | Отправлено: 06:24 26-11-2009
asi81



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Извините если повтор - тема настолько огромна, что найти тяжело.
Установил 47 девэкспресс с помощью китайского установщика. раньше стоял рубордовский, но сейчас его зажали в копилке.  После установки  у меня в Packages осталось несколько строчек типа "bsp not found".  Я посмотрел - все эти пакеты уже установлены, только лежат в  той папке, где лежат все остальные пакеты - раньше они зачем-то лежали в C:\windows\System32. Других проблем вроде бы нет - но если использовать skinController(положить на форму и включить) , то приложение стабильно вылетает при запуске - делал примитивный пример - 2 кнопки и скинконтроллер. Запускаю - Эксепшн - Access Violation.

Всего записей: 86 | Зарегистр. 08-06-2009 | Отправлено: 13:20 26-11-2009
MyNameIsNataly

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер, уважаемые форумчане!
Подскажите пож-ста, как копировать текст полей в буфер обмена данными (т.е. заточено ли под это какое-нибудь свойство) из TcxDBVerticalGrid, если все свойства в TcxDBVerticalGrid.OptionsData проставлены False? Поясню, при таких настройках поля в таблице не выделяются и не копируются.

Всего записей: 4 | Зарегистр. 24-11-2009 | Отправлено: 17:00 26-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MyNameIsNataly

Цитата:
Подскажите пож-ста, как копировать текст полей в буфер обмена данными (т.е. заточено ли под это какое-нибудь свойство) из TcxDBVerticalGrid

На данный момент для TcxDBVerticalGrid нет готового механизма копирования содержимого всех полей в clipboard. Но вы легко сможете это реализовать сами. Формируйте необходимый текст в нужном виде путем итерации по всем видимым полям вашего датасета, а затем выполните Clipboard.AsText := <YourGeneratedTextForClibboard>. Не забудьте подключить модуль Clipbrd.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 23:21 26-11-2009
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как организовать фильтр в cxTreeList, чтобы попадающие под фильтр узлы меняли шрифт, а родительские узлы были видимы, но дедоступны. такое можно можно увидеть в "preferences" многих IDE.

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 09:09 27-11-2009
MyNameIsNataly

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 
Спасибо.  
Уточню, меня интересует скорее не копирование содержимого всех полей и даже не само копирование, т.к. оно, в принципе, возможно с использованием кнопок Сtrl + C, Ctrl + V. А возможность ВЫДЕЛИТЬ текст в конкретном поле таблицы TcxDBVerticalGrid, чтобы в дальнейшем текст из этого поля копировать и использовать по своему усмотрению. При этом свойства в TcxDBVerticalGrid.OptionsData должны быть проставлены False. (Когда свойства проставлены в True, то выделить текст в поле возможно, при этом появляется другой "глюк", о котором, если нужно сообщу отдельно.)

Всего записей: 4 | Зарегистр. 24-11-2009 | Отправлено: 16:02 27-11-2009
vladman

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
MyNameIsNataly

Цитата:
возможность ВЫДЕЛИТЬ текст в конкретном поле таблицы TcxDBVerticalGrid

Вы сами запрещаете выделение текста в конкретном поле, установив свойство TcxDBVerticalGrid.OptionsData.Editing в False. Если вам нужна возможность скопировать значение текущего поля cxDBVerticalGrid, можно обработать событие onKeyDown вашего cxDBVerticalGrid. Например:

Код:
 
uses
  Clipbrd
...
 
procedure <YourForm>.<YourcxDBVerticalGrid>KeyDown(Sender: TObject; var Key: Word; Shift: TShiftState);
begin
  if (Key = 67) and (Shift = [ssCtrl]) then
    if TcxDBVerticalGrid(Sender).FocusedRow is TcxDBEditorRow then
      Clipboard.AsText := VarToStr(TcxDBEditorRow(TcxDBVerticalGrid(Sender).FocusedRow).Properties.Value);
end;

 

Цитата:
появляется другой "глюк", о котором, если нужно сообщу отдельно

Думаю что нужно.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:00 28-11-2009
Vadim153

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день!
Вопрос по cxGrid, который не привязан к БД.
Создаю новую строку и заполняю ее. Одно из полей должно быть вычисляемым.
Т.е. при любых изменениях в Поле1 и Поле2, значение в Поле3 д.б. изменено.
По какому событию вычислить значение Поля3 и как его ввести в нужную ячейку текущей строки грида?

Всего записей: 51 | Зарегистр. 19-08-2009 | Отправлено: 03:27 30-11-2009
neznayka3

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
для заполнения cxLookupComboBox использую код

Код:
procedure TForm12.cxLookupComboBox1KeyUp(Sender: TObject; var Key: Word;
  Shift: TShiftState);
var
tmp: string;
begin
  if cxLookupComboBox1.EditText='' then
    exit;
  tmp := Copy(cxLookupComboBox1.EditText, 1, cxLookupComboBox1.SelStart) ;
  with ADOQuery1 do
  begin
    Close;
    if tmp<>'' then
    begin
      sql.Clear;
      sql.Add('select top 10 * from streets where street like '''+tmp+'%''');
      Open;
    end;
  end;
end;
при наборе список показывает не все записи, а только первую, хтя DropDownRows=8. и не работает переход по записям клавишей "стрелка вниз" - стоит на 1 записи

Всего записей: 385 | Зарегистр. 07-06-2007 | Отправлено: 08:08 30-11-2009
   

Страницы: 1 2 3 4 5 6 7 8 9 10 11 12 13 14 15 16 17 18 19 20 21 22 23 24 25 26 27 28 29 30 31 32 33 34 35 36 37 38 39 40 41 42 43 44 45 46 47 48 49 50 51 52 53 54 55 56 57 58 59 60 61 62 63 64 65 66 67 68 69 70 71 72 73 74 75 76 77 78 79 80 81 82 83 84 85 86 87 88 89 90 91 92 93 94 95 96 97 98 99 100 101 102 103 104 105 106 107 108 109 110 111 112 113 114 115 116 117 118 119 120 121

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru