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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget
 
Если оставить только одно поле A1, то все работает, но при этом выбор в LookupList  (там тоже два поля A1;A2) новой строки, не приводит к срабатыванию события OnChange, т.к. в паре A1;A2 меняется только A2, а отображаться должно A1.
 
Обращаю внимание, используется не TcxDBLookupComboBox, а TcxLookupComboBox, что позволяет вводить в редактируемое поле любой текст.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 20:01 18-12-2008 | Исправлено: jicoff, 20:09 18-12-2008
Andy_BitOff



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возможно ли в DevExpress.cxGrid сделать такой вид заголовка таблицы (http://bitoff.pisem.net/temp/scr2.png - 629 байт)? У меня получается только так (http://bitoff.pisem.net/temp/scr1.png - 3,8 KБ (3 844 байт)), а это, согласитесь, не то.

Всего записей: 48 | Зарегистр. 04-09-2006 | Отправлено: 22:23 18-12-2008
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Andy_BitOff, возможно.
 
В серединке вы добились нужного. На scr1.png у вас слева 1 банд и несколько столбцов, привязанных к этому банду.
Сделайте по одному банду на каждый столбец (кроме серединки, где на 1 банд больше 1 столбца). Останется сделать так, чтобы не было горизонтальной полосы между бандом и столбцом. Можно в OnCustomDraw столбца залить серым цветом и ставить Accept := True. Все остальное рисоваться не будет.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 23:55 18-12-2008
Andy_BitOff



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нет. Это не выход. Во-первых используются скины, во-вторых надписьна столбце должна быть по середине.

Всего записей: 48 | Зарегистр. 04-09-2006 | Отправлено: 00:18 19-12-2008
afiget



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

Цитата:
TcxLookupComboBox, что позволяет вводить в редактируемое поле любой текст.

Это поле не редактируется (если вы сами не напишете соответствующий код, расширяющий функциональность компонента)!
 
The editor’s edit value (the EditValue property) matches the ListSource key field value (identified via the Properties.KeyFieldNames property) corresponding to the record containing the currently displayed value.
 
You can specify the EditValue via code. If there is no records in ListSource whose key field values match the edit value, the editor displays nothing.
 
Если вы пытаетесь исползовать свойство Text, то:
Setting this property programmatically is similar to locating a record within the data source whose specific field value is equal to the Text property. The data source field to locate is identified via the ListFieldIndex property value, which represents the index of a field within the ListFieldNames list.
 
If the Text property value has no matching record within the data source, no text is displayed within the lookup combo box.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 12:00 19-12-2008
jicoff

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

Цитата:
If the Text property value has no matching record within the data source, no text is displayed within the lookup combo box.

 
Даже не знаю что на это ответить. Как уже писал, если в KeyFieldNames стоит одно поле NAME (в моем случае), то все работает, даже если не находит текст в Lookup DataSet. Как говорится: не верь глазам своим.
 
Идея простая. После ввода текста в Lookup DataSet данные обновляются в соответствии со значением Text. Если не находится точное совпадение, обновляются по частичному совпадению. Пользователь можен выбрать что ему больше подходит или оставить свойство Text без изменения, тогда появиться новая запись в базе.
 
Придется TcxPopupEdit использовать.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:56 19-12-2008
sldaac



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

Цитата:
Если оставить только одно поле A1, то все работает, но при этом выбор в LookupList  (там тоже два поля A1;A2) новой строки, не приводит к срабатыванию события OnChange, т.к. в паре A1;A2 меняется только A2, а отображаться должно A1.  
 

 
ListfieldIndex попробуй поставить не 0 , номер поля А2  кажетя у вас 1
 

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 14:14 19-12-2008
afiget



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

Цитата:
ListfieldIndex попробуй поставить не 0 , номер поля А2  кажетя у вас 1

Именно
Я же написал:
 
 
Добавлено:
The data source field to locate is identified via the ListFieldIndex property value, which represents the index of a field within the ListFieldNames list.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:17 19-12-2008
jicoff

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

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 14:47 19-12-2008
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
как закрасить строку в девках cxGrid, с простой вьюшкой TcxGridDBTableView, данные из табл. два поля  F1, F2, по условие  если занчение поля F1=1 то строку закрасить в один цвет, если F1=0  то другой.
ps/где-то  пробегало, не могу найти, подскажите плз. кто юзал, время поджимает.
спсб всем.

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 16:00 19-12-2008
uranic2

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

Цитата:
как закрасить строку в девках cxGrid,

Приблизително так:

Код:
 
procedure TfmInspMany.cxgTVCustomDrawCell(Sender: TcxCustomGridTableView;
  ACanvas: TcxCanvas; AViewInfo: TcxGridTableDataCellViewInfo;
  var ADone: Boolean);
var
  Val: Integer;
begin
  if AViewInfo.GridRecord.DisplayTexts[cxgTVManda.Index] = '' then exit;
   // красным цветом обязательные назначения
  val := VarAsType(AViewInfo.GridRecord.DisplayTexts[cxgTVManda.Index], varInteger);
  case val of //
    0:
      begin
 
      end;
    1: ACanvas.Canvas.Brush.Color := cxStyleNonWorkDay.Color;
  end; // case
 
 
 
 

Всего записей: 297 | Зарегистр. 17-08-2004 | Отправлено: 16:11 19-12-2008
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sldaac OnGetContentStyle тебе в помощь, но надо определить стили в репозитарии например...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 16:45 19-12-2008
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sldaac
 
Тоже считаю, лучше определить сначала 2 стиля, а потом использовать событие  
 
OnGetContentStyle, а там
 
  if ARecord.Values[F1_Index] = 1
    AStyle := stlColor1
  else
  if ARecord.Values[F1_Index] = 0
    AStyle := stlColor2

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:02 19-12-2008
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
sldaac
http://www.devexpress.com/Support/Center/KB/p/A328.aspx

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 17:03 19-12-2008
sldaac



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

Цитата:
jicoff


Цитата:
afiget

Спсб,  стили есть использую,   буду  пробовать,   теперь надо красивую  цветовую гамму сделать.

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 17:17 19-12-2008
Andy_BitOff



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как получить размеры Popup окна при установленном TcxGridDBColumn.Properties = ExtLookupComboBox? Т.е. получить именно размеры этого самого ExtLookupComboBox.

Всего записей: 48 | Зарегистр. 04-09-2006 | Отправлено: 21:10 20-12-2008
afiget



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

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 01:08 22-12-2008
lexer24

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Может кто-нибудь знает, как заставить cxGrid (DevExpresss v40) отображать unicode под Delphi 7?
Опишу ситуацию:
-имеется firebird база с UTF8 строками.
-в приложении используются Fib+ для работы с базой
-необходимо в приложении отображать эти строки (в cxGrid и других cxDB..), единовременно будут загружатся данные только одного языка, и в самом приложении будут уже меняться языки + лейблы все на одном фиксированном языке. Т.о. получается что будет одновременно только макс. 2 языка. С учетом этого, может можно в самом приложении и без юникода обойтись?

Всего записей: 3 | Зарегистр. 05-04-2007 | Отправлено: 11:37 22-12-2008
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Так ты при подключении указывай Win1251, мож так можно?

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:17 22-12-2008
lexer24

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

Цитата:
Так ты при подключении указывай Win1251, мож так можно?

Так можно.
А как заставить нормально отображаться символы из кодировки скажем Win1252(европейские языки)?

Всего записей: 3 | Зарегистр. 05-04-2007 | Отправлено: 12:26 22-12-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