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

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

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

ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

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




 
Сами прирученные компоненты частенько приходят на водопой сюда

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:42 08-10-2003 | Исправлено: golkanavt, 15:41 08-09-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tade
Я, правда для обычного lookup, использую setrange для lookup таблицы в обработчике View OnInitEdit. Приблизительно так:
 
procedure Proj.cxGrid1DBTableView1InitEdit(
  Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem;
  AEdit: TcxCustomEdit);
begin
if TcxGridDBTableView(cxGrid1.FocusedView).ViewData.HasNewItemRecord then
   if TcxGridDBTableView(cxGrid1.FocusedView).ViewData.NewItemRow.Focused then
     if AItem.Caption = 'Цвет' then
      begin
       with kbmMemLookupTable do
         begin
          DisableControls;
          SetRangeStart;
           //KeyFieldCount := 1;
           FieldByName('GoodsId').AsInteger := GoodsId;
          SetRangeEnd;
           //KeyFieldCount := 1;
           FieldByName('GoodsId').AsInteger := GoodsId;
          ApplyRange;
          EnableControls;
         end;  
end;

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 11:05 04-08-2006
Kapacuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всем добрый день!
Такой вопрос: в колонке DBTableView едитор установлен в BlobEdit. При этом в раскрытом состоянии оный BlobEdit содержит 2 кнопки - "ОК" и "Cancel". Есть ли способ сменить заголовки? Скажем, "Cancel" на "Отмена"?
Спасибо.

Всего записей: 5 | Зарегистр. 04-08-2006 | Отправлено: 11:40 04-08-2006
Tade

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex47
Спасибо за помощь, но не все понял.
Повидимому вы используете в качестве lookup таблицы memtable
и на момент внесения новой записи фильтруете эту таблицу встроенным фильтром.
тогда зачем изменять в этой таблице ключевое поле FieldByName('GoodsId') ?
и не переводя DataSet в Edit перед этим?
проверить такой вариант я быстро не смогу, надо переделать под FIBDataSet,
который у меня используется в качестве Lookup таблицы.
Но, если получится, то это замечательно.
Тогда возникает следующий вопрос - а если это не новая запись?
т.е. какой смысл делать проверку  
if TcxGridDBTableView(cxGrid1.FocusedView).ViewData.HasNewItemRecord then
?

Всего записей: 2 | Зарегистр. 16-04-2006 | Отправлено: 12:36 04-08-2006
Dennica



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

Цитата:
 чтобы форматирование отображалось всегда, необходимо выставить свойство AlwaysShowBlanks

Вот! Это-то мне и нужно было, просмотрел я эту пропертю. Спасибо!

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 12:52 04-08-2006
Virto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Люди, подскажите пож-ста такой вопрос...
Вот , на старости лет решил попробовать написать компонент... C++ Builder 6...
Что-то нацарапал, создал Package... Пытаюсь установить, говорит, что Package succesfully installed, но компонента нет! И не было сообщения, что он добавлен на палитру...
void __fastcall PACKAGE Register() присутствует...
В чем может быть проблема?

Всего записей: 19 | Зарегистр. 25-07-2006 | Отправлено: 13:51 04-08-2006
avkh

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

Цитата:

Цитата:
Цитата:А как правильно программно установить время в cxTimeEdit?  

 
Например, так:    
cxTimeEdit1.Time := now;  
cxTimeEdit1.EditValue := StrToTime('01:34:45');

 
Них не получается - в самих edit'ах остается '00:00:00'

Всего записей: 23 | Зарегистр. 30-11-2004 | Отправлено: 14:10 04-08-2006
vadson6666



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

Цитата:
void __fastcall PACKAGE Register() присутствует...  
В чем может быть проблема?

 
При чем здесь ДевЭкспресс? Может быть лучше начать со страницы http://forum.ru-board.com/topic.cgi?forum=33&topic=5662#1 ??
 

Цитата:
Них не получается - в самих edit'ах остается '00:00:00'

 
Пример кода приведите. Можно в ПМ
 

Всего записей: 267 | Зарегистр. 08-07-2004 | Отправлено: 14:39 04-08-2006
Kapacuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
> Них не получается - в самих edit'ах остается '00:00:00'
Проверил, работает

Всего записей: 5 | Зарегистр. 04-08-2006 | Отправлено: 14:39 04-08-2006
Virto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
При чем здесь ДевЭкспресс? Может быть лучше начать со страницы http://forum.ru-board.com/topic.cgi?forum=33&topic=5662#1 ??  
 
??? С девекспресс другая проблема...
тот был вопрос по созданию своего компонента!

Всего записей: 19 | Зарегистр. 25-07-2006 | Отправлено: 14:44 04-08-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Tade
Извини, подробнее сейчас не могу.
В качестве lookup таблицы, конкретно здесь, memtable, но может быть любая другая, по которой можно выставить setrange.  Ключевое поле FieldByName('GoodsId') я не меняю - я выставляю фильтир (setrange), т.е. будут видны только те записи у которых  
FieldByName('GoodsId').AsInteger := GoodsId;  
Теперь можно немного подробнее. В lookup таблице содержатся названия цветов для разных товаров (GoodsId). После setrange по конкретному товару (GoodsId) в lookup будут видны цвета только этого товара. Setrange для фильтрации использовался потому, что он дает максимальную скорость.
Строки
if TcxGridDBTableView(cxGrid1.FocusedView).ViewData.HasNewItemRecord then  
   if TcxGridDBTableView(cxGrid1.FocusedView).ViewData.NewItemRow.Focused then  
можно убрать, у меня они нужны, поскольку lookup открывается только в NewItemRow.

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 16:44 04-08-2006 | Исправлено: Alex47, 10:45 05-08-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Virto
 
Так о том и идет речь, что здесь рассматривают вопросы непосредственно связанные с DevExpress.
 
Офтоп
 
А что касается регистрации компонента, то функцию Register() нужно вставить в namespace с именем модуля, где описана функция, написанным с заглавной буквы:
 
namespace Test // если в модуле Test.cpp
{
  void __fastcall PACKAGE Register()
  {
    ...
  }
}  

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 16:50 04-08-2006
avkh

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

Код:
procedure TfSupportGraph.aNewExecute(Sender: TObject);
begin
  teID.EditValue:='New';
  teCode.EditValue:='';
  teName.EditValue:='';
  tmWB.Time:=Now();
  tmWE.EditValue:=StrToTime('19:00:00');
  mDescription.Clear;
end;

Текст в teID нормально меняется,  
tmWB, tmWE - нет, остается '00:00:00'

Всего записей: 23 | Зарегистр. 30-11-2004 | Отправлено: 17:15 04-08-2006
Virto

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
to jicoff :
Спасибо, проблема была именно в имени namespace...
Не было раньше опыта в написании компонент... не думал, что это так существенно!
Спасибо за помощь!

Всего записей: 19 | Зарегистр. 25-07-2006 | Отправлено: 17:28 04-08-2006
Kapacuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Прошу прощения, если уже было. Вопрос: Properties колонки таблицы установлено в PopupEdit. Как можно его (PopupEdit) программно развернуть или, наоборот, свернуть? Спасибо.

Всего записей: 5 | Зарегистр. 04-08-2006 | Отправлено: 01:42 06-08-2006
ChSerg



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет всем.  
Подскажите, можно ли как-нибудь в качестве редактора колонки в квантум гриде ипользовать древовидную структуру (как lookup-элемент)?  
Просмотрел весь список допустимых редакторов - ничего не подходит...

Всего записей: 936 | Зарегистр. 30-08-2001 | Отправлено: 12:18 06-08-2006
afiget



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

Цитата:
Properties колонки таблицы установлено в PopupEdit. Как можно его (PopupEdit) программно развернуть или, наоборот, свернуть

DropDown, DroppedDown

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:23 06-08-2006
Kapacuk

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget, а как подступиться к самому PopUp'у? В мануалах откопал только TcxPopupEditProperties - Contains settings specific to the editors

Всего записей: 5 | Зарегистр. 04-08-2006 | Отправлено: 14:35 06-08-2006
hobest

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kapacuk
 
 (<ГридВъюКолумн>.Properties as TcxPopupEditProperties).PopupControl.Show;

Всего записей: 86 | Зарегистр. 20-03-2006 | Отправлено: 20:37 06-08-2006
vadson6666



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

Цитата:
Текст в teID нормально меняется,  
tmWB, tmWE - нет, остается '00:00:00'

 
 
Хороший пример кода, только вот он ничего не говорит о том, что происходит дальше в проге и откуда вызывается. Начни новый пустой проект, кинь компоненцу, на ФормКриейт вкрути этот код и смотри, что произойдет, если и там не пашет, ну тогда может проще перебить инсталляху, чем голову ломать? ИМХО

Всего записей: 267 | Зарегистр. 08-07-2004 | Отправлено: 08:33 07-08-2006
Kapacuk

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

Цитата:
Kapacuk  
  (<ГридВъюКолумн>.Properties as TcxPopupEditProperties).PopupControl.Show;

В PopupControl лежит ссылка на контрол, отображаемый в попапе. Соответственно, метод Show будет применен к этому контролу, а не к выпадающему списку. Иными словами, попап не раскинется, но отобразится скрытая панель, лежащая в попапе (которая у меня вообще находится в другом модуле)
 

Всего записей: 5 | Зарегистр. 04-08-2006 | Отправлено: 08:49 07-08-2006
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress
ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru