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

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

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

ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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 122

   

ShIvADeSt



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

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




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

Всего записей: 3956 | Зарегистр. 29-07-2003 | Отправлено: 03:16 29-01-2007 | Исправлено: VitaliM, 15:47 24-11-2008
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, помогите разобраться с такой проблемой. Как в RunTime сделать чтобы TcxGridDBColumn прилинкованый в таблице к полю типа TBooleanField вместо чекбокса отображались предопределённые значения.
 
Имеется некоторая таблица, в которой одно из полей TBooleanField. Хочу, чтобы вместо True/False в этом поле показывались некоторые предопределённые значения (Постоянный/Переменный, речь идёт о токе).
 
В обычном DBGrid'е проблем нет - достаточно заполнить свойство TBooleanField.DisplayValues :="Постоянный;Переменный"
 
Так же без проблем в DisignTime и для TcxGridDBTableView. Выбираю своё поле cxGrid1DBTableView1DBColumn2. Properties у этого поля выбираю ComboBox. DropDownStyle выставляю как lsFixedList, заполняю список Items -> Постоянный, Переменный. Запускаю - всё работает как надо:
Подробнее...
 
Пытаюсь всё тоже самое проделать в RunTime:

Код:
var
  Prop: TcxCustomEditProperties;
  Column: TcxGridDBColumn;
begin
  Column := cxGrid1DBTableView1.GetColumnByFieldName('Тип источника');
  if Assigned(Column) then
  begin
    Column.PropertiesClass := TcxComboBoxProperties;
    Prop := Column.Properties;
    with TcxComboBoxProperties(Prop) do
    begin
      DropDownListStyle := lsFixedList;
      Items.CommaText := 'Постоянный,Переменный';
    end;
  end;
 

Получается вот так:
Подробнее...
То есть пока столбец не выбран в нём отображается True/False, а не то, что мне хотелось бы.
Что я делаю неправильно?

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 18:55 26-05-2008 | Исправлено: skinash, 18:59 26-05-2008
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skinash
В качестве параметра метода GetColumnByFieldName нужно указывать название поля в датасете а не имя колонки. У тебя первый же if помоему не должен срабатывать.

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 07:27 27-05-2008
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет ВСЕМ!
 
Использую в проекте TcxShellComboBox ( обозвал cbShell ). В cbShellPropertiesCloseUp написал:
Код:
p1->Caption  = cbShell->Path;
Под ХР всё видно, под W98 возвращает пустую строку. В чём может быть дело? Подскажите.
 
СПАСИБО!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 07:44 27-05-2008
skinash



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica
Здесь всё как раз верно, именно такое имя в датасете, if срабатывает, Column не пустой.
Толи глюк в девках, толи рефреш какой-нибудь нужен...
 
Я оказался прав, заработало как надо после

Код:
cxGridDBTableView1.DataController.DataSource.DataSet.Refresh;

Но всё равно мне это решение не нравится, т.к. боюсь, что будет замедление работы программы. Пока проверить мои догадки не на чем...

Всего записей: 145 | Зарегистр. 21-09-2006 | Отправлено: 08:36 27-05-2008 | Исправлено: skinash, 09:20 27-05-2008
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skinash
Как вариант используй TcxEditRepository. Создай в нем заготовку, затем в событии колонки OnGetProperties напиши простейший обработчик. В репозитории итемы легко и динамически добавлять.

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 14:23 27-05-2008
Vstory

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста, можно ли как-то в PivotGrid отображать или не отображать значения в ячейке в зависимости от  - там должно быть значение по свернутым или развернутым измерениям?

Всего записей: 10 | Зарегистр. 21-05-2008 | Отправлено: 18:07 27-05-2008
vlsaf

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
XtraReport - как распечатать одну строку?
 
Есть вопросец. Можно ли в XtraReport как-то передавать параметр.
Например ID , для того, чтобы можно было распечатать  
только одну строку таблицы?

Всего записей: 5 | Зарегистр. 05-07-2005 | Отправлено: 11:17 28-05-2008 | Исправлено: vlsaf, 11:21 28-05-2008
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго времени суток!
 
Есть неожиданная проблема. В рантайме добавляются солбцы в cxGrid, данные берутся из dxMemdata, в котором точно есть записи.
Грид создаётся, но почему-то пустой.
 

Код:
 
tvgrid1.BeginUpdate;
tvgrid1.DataController.DataSource:=DS3i;
acolumn:=tvGrid1.CreateColumn;
acolumn.Width:=250;
acolumn.DataBinding.FieldName:='rowname';
acolumn.DataBinding.ValueType:='string';
acolumn.Caption:='a';
acolumn:=tvGrid1.CreateColumn;
acolumn.Width:=100;
acolumn.DataBinding.FieldName:='total';
acolumn.DataBinding.valuetype:='currency';
acolumn.Caption:='s';
tvGrid1.EndUpdate;
 

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 15:42 29-05-2008
Vstory

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson, проверьте что FieldName имеют такие же имена как в датасете ds3i. попробовала такой код на tcxGrid v 3.1 - все работает
var c : TcxGridDBColumn;
begin
   c := cxGrid1DBTableView1.CreateColumn;
   c.Caption := 'test';
   c.DataBinding.FieldName := 'class';
end;

Всего записей: 10 | Зарегистр. 21-05-2008 | Отправлено: 18:24 29-05-2008
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vstory
Немного поигравшись, обнаружил следующее. Вообще-то датасет dxMemdata создаётся в рантайме. Если сделать его в дизайн тайме, а потом только заполнить, грид данные показывает. А в динамически создаваемый хоть и пишет (после Post вывожу текущее значение), но в гриде пусто. Может где-то что-то пропустил?

Код:
 
var
  fld: tfield;
  AColumn: TcxGridDBColumn;
begin
....
 dxmem3i:=TdxMemData.Create(nil);
 dxmem3i.active:=false;
 dxmem3i.FieldDefs.Clear;
 fld := TIntegerField.Create(nil);
 fld.FieldName := 'ID';
 fld.DataSet:=dxmem3i;
 
 fld := TStringField.Create(nil);
 fld.FieldName := 'rowname';
 fld.Size := 250;
 fld.DataSet:=dxmem3i;
 
 fld := TBCDField.Create(nil);
 fld.FieldName := 'total';
 fld.DataSet:=dxmem3i;
 dxmem3i.Open;
 dxmem3i.DisableControls;
 
 dxmem3i.Append;
 dxmem3i.FieldByName('id').AsInteger:=1;
 dxmem3i.FieldByName('rowname').AsString:='Some text';
 dxmem3i.FieldByName('total').AsFloat:=vsum;
 dxmem3i.Post;
.......
 ShowMessage(inttostr(dxmem3i.RecordCount));
 showmessage(dxmem3i.FieldByName('rowname').AsString);
 dxMem3i.EnableControls;
 
 tvgrid1.BeginUpdate;
 tvgrid1.DataController.DataSource:=DS3i;
 acolumn:=tvGrid1.CreateColumn;
 acolumn.Width:=250;
 acolumn.DataBinding.FieldName:='rowname';
 acolumn.DataBinding.ValueType:='String';
 acolumn:=tvGrid1.CreateColumn;
 acolumn.Width:=100;
 acolumn.DataBinding.FieldName:='total';
 acolumn.DataBinding.valuetype:='Currency';
 tvGrid1.EndUpdate;
 

 
Добавлено:
всё гут! забыл строчку
  DS3i.dataset:=dxmem3i;
простите что отнял время :[

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 21:59 29-05-2008 | Исправлено: brookson, 22:03 29-05-2008
George_Lucky



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем доброго дня!
о TcxComboBox...
Задачка - при выборе значения из списка ComboBox, должна происходить обработка этого значения
Вопрос - Какой Event лучше применить? Каков механизм доступа к новому выбранному значению?
.Value  почему-то хранит прежнее значение

Всего записей: 413 | Зарегистр. 12-09-2002 | Отправлено: 07:21 30-05-2008
drunk2



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

Всего записей: 204 | Зарегистр. 27-10-2005 | Отправлено: 07:41 30-05-2008
Vstory

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson, для информации - для добавления полей у dxmemdata есть метод dxMemData1.FieldDefs.Add(field_name,  field_type, field_size);
 
Добавлено:
кто-нибудь знает как в PivotGrid по ячейке (в OnGetDisplayText) понять на уровне какого поля из row header area свернута соответствующая строка ?

Всего записей: 10 | Зарегистр. 21-05-2008 | Отправлено: 10:34 30-05-2008
drunk2



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно реализовать в cxGrid выделение области ячееек и ввод значения во все выделенные?

Всего записей: 204 | Зарегистр. 27-10-2005 | Отправлено: 13:42 30-05-2008
Ziltoid

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте!
Всем, кому интересно использовать Девошные скины в своих прогах, но смущает изрядное увеличение размера экзешника, могу предложить вариантик: дело в том, что я сделал ресурсную DLL, куда затолкал все скины, что шли в комплекте с версией 6.34, заодно туда же добавил битмапы 32x32 для RibbonGallery и 16x16 для какого-нибудь ImageCombobox'а.  
 
Ежли интересно, могу выслать на электроящик.
 
ЗЫ: Не реклама

Всего записей: 24 | Зарегистр. 30-05-2008 | Отправлено: 19:14 30-05-2008
StdNet

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый день.
Подскажите балбесу как локализировать компоненты?
а то надо локализировать предпросмотр при печати, а сделать не получаеться, установил дллки с руским а дальше не получаеться (

Всего записей: 70 | Зарегистр. 03-08-2006 | Отправлено: 09:47 31-05-2008 | Исправлено: StdNet, 10:11 31-05-2008
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
drunk2
Да, только не забывать контролировать заранее вставляемое значение. Чтобыне получилось, что ты вставляешь текст в числовое поле.
Устанавливаешь нужные свойства View.OptionSelection.
Показываешь контрол для ввода значения, после валидации вставляешь значения.
 
http://www.devexpress.com/Support/Center/KB/p/A302.aspx
http://www.devexpress.com/kb=A974

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 13:40 31-05-2008
xokc

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

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

Какие именно компоненты? Если речь идет о DevExpress, а дистрибутив от feandy, то поставить галочку "руссские ресурсы". Хотя если речь идет о каких-то
Цитата:
дллки с руским  
, тогда задавай вопрос по-русски.

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 21:42 01-06-2008
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Странная проблема: поставил версию 6.35. Скомпилировал. Теперь под русскими виндами в гриде невозможно вводить числовые значения: значения вводятся справа налево, например, пользователь пишет: "123". Получается "321". Т.е. получается ввод справа налево. В английских виндах всё работает нормально.
Кто-нибудь знает, как это вылечить?

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 11:31 02-06-2008
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2
Странно ... все работает, во всяком случае, если стоит CalcEdit и SpinEdit
 
P.S. feandy 6.36 опубликовал

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 12:02 02-06-2008
   

Страницы: 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 122

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress 2
ShIvADeSt (07-02-2009 14:53): Продолжаем тут
http://forum.ru-board.com/topic.cgi?forum=33&topic=10123#1


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru