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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alkatraz
 
Что за глупый вопрос? Если View разные по типу, как можно "в любом случае можно применять данное преобразование"? Посмотри хелп, учись работать с документацией.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 12:39 01-03-2007
Shadi



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

Цитата:
Alkatraz

 

Цитата:
 
procedure TfrmCustomDraw.DBPivotGridCustomDrawCell(
  Sender: TcxCustomPivotGrid; ACanvas: TcxCanvas;
  AViewInfo: TcxPivotGridDataCellViewInfo; var ADone: Boolean);
begin
  if AViewInfo.DisplayText = '' then
  begin
    ACanvas.Brush.Color := clBtnShadow;
    ACanvas.FillRect(AViewInfo.Bounds);
    with AViewInfo.Bounds do
    begin
      ACanvas.Pen.Color := clBlack;
      ACanvas.Pen.Width := 1;
      ACanvas.MoveTo(Left, Top);
      ACanvas.LineTo(Right, Bottom);
      ACanvas.MoveTo(Right, Top);
      ACanvas.LineTo(Left, Bottom);
    end;
    AViewInfo.Transparent := True;
  end
  else
    if (AViewInfo.RowIndex mod 2 = 0) or (AViewInfo.RowIndex mod 2 = 0) then
    begin
      FillTubeGradientRect(ACanvas.Handle, AViewInfo.Bounds, clYellow, clRed, True);
      AViewInfo.Transparent := True;
    end;
end;
 

 
Может это поможет...
 
 

Всего записей: 110 | Зарегистр. 07-05-2003 | Отправлено: 13:34 01-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Shadi
 
Не знаю правильно ли написан пример, но он не должен сработать, т.к. ADone по-умолчанию равняется false, а в таком случае он поверх этой отрисовки наложит свою.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 14:03 01-03-2007
Shadi



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

Цитата:
Не знаю правильно ли написан пример, но он не должен сработать, т.к. ADone по-умолчанию равняется false, а в таком случае он поверх этой отрисовки наложит свою.

 
Пример взят из демо и поэтому работает на ура...
Можешь сам посмотреть ExpressPivotGrid\Demos\Delphi\CustomDrawDemo\  
 

Всего записей: 110 | Зарегистр. 07-05-2003 | Отправлено: 14:12 01-03-2007
kooxymooxy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа!  
может объясните как надо настраивать мастер-детейл, что бы был возможен мультиселект ?
типа vDet.DataController.SelectAll;
сейчас
vDet.DataController.RowCount    -   0
vDet.DataController.DataSetRecordCount   -   3

Всего записей: 4 | Зарегистр. 07-06-2006 | Отправлено: 14:16 01-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kooxymooxy
 
GridView.OptionSelections.MultiSelect := true

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 14:36 01-03-2007
kooxymooxy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
дело в том, что оно так и установлено и в мастере и в детейле...
но если я по кнопочке делаю для детейла vDet.DataController.SelectAll;  
он не выделяет ни одной строки, просто встает на первую...
а vDet.Controller.SelectedRowCount   -   0   (((

Всего записей: 4 | Зарегистр. 07-06-2006 | Отправлено: 14:50 01-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kooxymooxy
 
А как ты это делаешь? Что у тебя такое vDet? Если это detail view, который стоит в дизайне как detail, то тогда ничего не получится - это pattern view (см. свойство IsPattern). Detail надо брать у конкретной мастер записи: преобразуешь ее к TcxGridMasterDataRow. а далее есть свойство ActiveDetailGridView, что тебе, скорее всего, и нужно/

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 15:05 01-03-2007
kooxymooxy

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
спасибо большое....полгода бы сидел, с девами недавно только пришлось столкнуться )
 
Добавлено:
jicoff
и всё таки последний вопрос :
как в ActiveDetailGridView сохранять изменения, которые вношу через setvalue... ?
понимаю, что вопросы глупые, не поджимало бы время, покопался бы сам (((

Всего записей: 4 | Зарегистр. 07-06-2006 | Отправлено: 16:00 01-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kooxymooxy
 
Это смотря какой detail view. Если это простой, то он должен сохранять там данные (предположение). Если это DB, то при переходе фокуса на другой detail туда заново считываются данные, т.к. используется один DataSet на все detail view.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 19:54 01-03-2007
Alkatraz

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо всем за ответы. Еще вопрос...
 
Проблемма такая - есть таблица городов, улиц (с составным ключем - код улицы и код города) и таблица адресов, где также указан город и улица. В Master стоит таблица городов с ключем Code? d Вуефшд стоят таблицы улиц и адресов. Проблемма в таблице адресов - код улицы для LookUpComboBox'а составной - код города и улицы. Как настроить  LookUp так, что бы в выпадающем списке были только улицы текущего города (того, что в MasterView)?
 
Если задавать в Keyfield только код улицы, то сами понимаете, что в списке оказываются все улицы. Составного ключа он не понимает (или просто у меня руки кривые )...
 
В хелпах еще покапаюсь, но надо срочно, поэтому спрашиваю здесь...

Всего записей: 57 | Зарегистр. 18-09-2006 | Отправлено: 23:31 01-03-2007
Shadi



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
All, привет!
 
Есть проблема... Установил инсталл Дяди Феди от декабря и такая же беда в февральском инсталле...
 
Выкидывается ошибка следующего содержания...  
 
 
Цитата:
OverFlow while converting variant of type(Integer) into type(Date)  

 
Ясно, что это проблема с конвертацией даты. Если ставлю ДисплейФормат = dd.mm.yyyy
у датаСета то на ReadOnly все пучком, но при редактировании снова таже ошибка...
Причем без указания в DataSate DisplayFormat=dd.mm.yyyy приложение вообще не запускается.. ((
 
Это только у меня??? Ставил и на работе и дома, та же хрень....
Может как то можно это победить???  

Всего записей: 110 | Зарегистр. 07-05-2003 | Отправлено: 09:04 02-03-2007
Widoms



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ребята подскажите можно ли с CxGrid экспорт в Excel сделать ?

Всего записей: 378 | Зарегистр. 09-01-2004 | Отправлено: 10:09 05-03-2007
mcdie



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Widoms
 
Можно: (unit  cxExportGrid4Link) для 5-го грида...
procedure ExportGrid4ToExcel(const AFileName: string; AGrid: TcxGrid; AExpand: Boolean = True; ASaveAll: Boolean = True; AUseNativeFormat: Boolean = True; const AFileExt: string = ‘xls’);
 
для 6-го грида: (unit cxGridExportLink)
procedure ExportGridToExcel(const AFileName: string; AGrid: TcxGrid;
  AExpand: Boolean; ASaveAll: Boolean; AUseNativeFormat: Boolean; const AFileExt: string);
 
 
Добавлено:
Alkatraz
 
У тебя же для одного города улицы не повторяются вот и лови:
 

Код:
 
Лови по событию OnInitPopup:  
Query1.sql = SELECT * FROM Table1 WHERE КодГорода = Твой код города;
Query1.datasource = Datasource1
 
Lookup1:
KeyField = Код улицы
ListSource - DataSource1
 

 

Всего записей: 145 | Зарегистр. 03-05-2006 | Отправлено: 10:44 05-03-2007 | Исправлено: mcdie, 11:57 05-03-2007
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Парни, кто разбирается в масках regexp?
Читаю мануал но до меня тяжело доходит это.
Нужны макси на http, ftp, email адреса.
Нашел в демках но там запрещены символы "-" а я не могу поправить. Подскажите кто знает или скажите где можно найти примеров масок побольше.

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 14:13 05-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
 
Вообще регулярные выражения они и в Африке регулярные. Беглый просмотр хелпа не выявил никаких специальных отклонений, но возможно что-то и пропустил.
 
Вот пример для email: [_a-zA-Z\d\-\.]+@([_a-zA-Z\d\-]+(\.[_a-zA-Z\d\-]+)+)
 
Проверь, должно сработать.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 14:29 05-03-2007
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо а как в этой маске разрешить использование "-"
http\:\/\/(\w+(\.\w+)*@)?\w+\.\w+(\.\w+)*(/(\w+(/\w+)*/?)?)?

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 15:57 05-03-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
явно укажи.. Тебе помоему для маски что ты привел не помешает также ввод и цифр. Получается в тех местах где у тебя стоит "\w+" ставиш "\w[\w\d\-]*" это значит разрешон ввод латинских букв, цифр и "-", причем слово должно начинаться с буквы

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 17:40 05-03-2007
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
Dennica
 
Это вопрос, может ли быть ссылка такого вида: http://www.microsoft.com/isapi/redir.dll?prd=ie&pver=5.0&ar=IStart
 
В таком случае вы забыли ., ~, %, +, !, (, ), #, может еще чего.
 
Добавлено:
Вообще-то говоря все это уже не по теме, но мне не нравится конструкция ArtemiyUO, больно тяжеловесная.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 19:15 05-03-2007
bodomus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
О cxExtLookupComboBox
 
Уважаемые профи. Есть проблемка. Вкратце предисторию.  
В моем проекте реализован грид в Unbound режиме при помощи DevExpress.  
Каждой ячейке в одной из колонок предоставляются динамически свои редакторы в зависимости от условия. Одним из типов редакторов который я использовал был сабж.  
Подключение редакторов происходит в событии колонки GetProperties.  
После создания сабжа в его свойстве OnPopupInit зависимостит от значений в других колонках я динамически формирую разные запросы и отображаю их в сабже.  
Так вот, быстро набросав формирование запросов и подключение их сабжу я думал порадоваться. Фиг. запросы формируются, отображаются данные в выпадающем сабже, после закрытия значение  вставляется, НО как только моя ячейка теряет фокус поле очищается.  
Ладно, от такой наглости я опешил. вроде все делал правильно. Решил вместо динамики использовать  статическое связывание (то есть в инспекторе свойств связываю все свойства и использую один запрос). Все заработало на ура. Начал копать дальше. В общем заюзал CodeSite. Все классы как при статике так и при динамике одинаковы. (Или просто я не увидел различий) Тут я малехо абалдел. То есть теоретически все правильно. В общем докопался вот до чего. Поведение сабжа изменяется после того как я у класса TcxGridDBTableView который связывается с сабжем при формировании новых колонок удаляю все и заново формирую новые.  
Удаление колонок :

TcxGridDBTableView(VRTV).ClearItems;

Добавление колонок:  
Делал так и так  

      for I := 0 to tbl.FieldCount - 1 do
          begin
           col := TcxGridDBTableView(VRTV).CreateColumn;
           col.Name :=tbl.Fields[i].FieldName;
           col.DataBinding.FieldName :=tbl.Fields[i].FieldName;
          end;
 
// второй вариант
     VRTV.DataController.CreateAllItems();

Если у кого то есть мысли по этому поводу плиз выскажетесь.  
 
PS Время поджимает я конечно все сделал по другому но разобраться надо.  
PSS Исходники тестового ( то есть вырезал части кода и скинул все на маленькую формочку могу выслать на почту, так как мы за стеной сидим) В примере стандартное подключение через БДЕ в проекте СКЛ сервак.

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 10:40 06-03-2007 | Исправлено: bodomus, 10:42 06-03-2007
   

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