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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Хм, возвращаясь к вопросу о гриде с чекбоксами, в котором надо отметить записи. Странная штука. У созданного столбца Properties=CheckBox, AllowGrayed=False; DisplayChecked=True; DisplayUnchecked=False; NullStyle=nssUnchecked; ValueChecked=True; ValueUnchecked=False.
Это я так перечисляю на всякий случай.
Так вот, все неотмеченные ячейки имеют значение tview.DataController.Values[i,0]=Null, а не False, как я ожидал.
Нетрудно конечно на FormCreate повесить поцедуру заполнения этих значений в False, но мне казалось оно должно быть априори False.
Кстати, если мышкой отметить, а затем убрать отметку, значение поля таки становится False.
Подскажите, где я неправ?

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 15:31 25-02-2009 | Исправлено: brookson, 15:33 25-02-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
все правильно... т.к. колонка Unbound то по дефолту заполняется Null'ами... а после кликов туда конечно же ставиться нормальное значение (True/False)...
Зачем на FormCreate вешать заполнение Fals'ами? почему при проверке просто не проверить на Null и на False? Null же просто означает что туда не кликали, а значит и не выбирали, что соответствует False... у меня было такое и я просто смотрел Null или False...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 15:58 25-02-2009
afiget



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

Цитата:
Подскажите, где я неправ?

Любой привязанный DB-контрол отображает то значение, которое хранится в источнике данных. Пока ты или компонент доступа к данным (если он умеет получать значения по-умолчанию с сервера) не изменишь значения, они так и остануться Null.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 16:18 25-02-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну, по сути да. Понимаю, почему Null, и действительно какая разница, Null или False. Одним условием вышло больше просто

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 17:00 25-02-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson так ты в дизайне присвой значение Falseи будет тебе по-умолчанию False, а не NULL.

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 19:18 25-02-2009
vladman

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

Цитата:
Подскажите, где я неправ?

 
Подход f3ka 100% поддерживаю.
 
afiget

Цитата:
Любой привязанный DB-контрол отображает то значение...

В том то и дело, что brookson спрашивал как раз о поле (контроле) которое не привязано к источнику данных .

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня проблема с cxButton. Ввёл текст в Caption из трёх слов. WordWrap установил в true. Всё отлично, текст в 2 строки влазит на кнопку. Загрузил в кнопку картинку (bmp) и текст стал в одну строку
Это глюк или так задумано?
Dev 6.41, D2007

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 20:20 25-02-2009 | Исправлено: X11, 20:35 25-02-2009
vladman

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

Цитата:
Это глюк или так задумано?

Этот задуманный глюк девэкспрэсcы поставили в разряд Planned, т.е.  
"Planned" indicates that we accepted the suggestion for implementation in one of the next updates  
_http://www.devexpress.com/Support/Center/p/DS14008.aspx?searchtext=wordwrap+glyph&tid=dee0f498-9b49-42c9-bee9-5530e0ea67f6&pid=-1
Так что читайте what's new к новым релизам.
 
Но если не хочется ждать новых релизов, есть решение -  
 

Код:
procedure <YourForm>.FormCreate(Sender: TObject);
begin
  <YourButton>.Caption := 'one' + #13#10 + 'two' + #13#10 + 'three';
end;

.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 20:59 25-02-2009 | Исправлено: vladman, 21:14 25-02-2009
Nagaitsev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток. Пользую cxTreeList. Задача изменить цвет ячейки по клику мыши. Цвет меняю через CustomDrawCell вот так:
 
  If (AViewInfo.Column.ItemIndex = MouseDownX)and(AViewInfo.RecordIndex = MouseDownY)
  Then Begin
    ACanvas.FillRect(AViewInfo.EditRect,clRed);
  End;
 
Но как выудить MouseDownX и MouseDownY? Нужно что-то вроде MouseToCell

Всего записей: 3 | Зарегистр. 25-02-2009 | Отправлено: 21:39 25-02-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagaitsev
if AViewInfo.GridRecord.Focused then
    if AViewInfo.Item.Focused then
    ...
 
Добавлено:
Внутри этих условий - текущая ячейка (которую кликнули).

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 23:37 25-02-2009
X11



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

Цитата:
Этот задуманный глюк девэкспрэсcы поставили в разряд Planned, т.е.  

ё-маё.... с с 2006-го года глюк тянется

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 23:50 25-02-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Да у них подобных глюков, к сожалению, вагон и маленькая тележка...
 
Чем больше функциональность такого кол-ва продуктов, тем сложнее их поддерживать в актуальном состоянии.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 01:24 26-02-2009
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagaitsev
 
Текущее положение курсора мыши - GetCursorPos

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:25 26-02-2009
Nagaitsev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У cxTreeList нет функции GetCursorPos, и AViewInfo.GridRecord тоже отсутствует  
 
Добавлено:
Но нашел проще, AViewInfo.Focused... но выделяется вся строка. Че-то не могу найти как выделить только ячейку...

Всего записей: 3 | Зарегистр. 25-02-2009 | Отправлено: 16:03 26-02-2009
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Nagaitsev
 
Вообще-то функция GetCursorPos не относится к классу, разве что только к namespace. Информацию можно посмотреть в хелпе.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 17:09 26-02-2009
Nagaitsev

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Нашел!!!!!!!!!!
 
ловлю CustomDrawCell  
 
 
  If AViewInfo.Focused and dxTreeList1.Columns[AViewInfo.Column.ItemIndex].Focused
  Then ACanvas.FillRect(AViewInfo.EditRect,clRed);
 
работает...
 
А текущие координаты можно взять из AViewInfo.Column.ItemIndex и AViewInfo.RecordIndex

Всего записей: 3 | Зарегистр. 25-02-2009 | Отправлено: 17:56 26-02-2009
Meister_Floh



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа.. А вот интересный момент какой, может кто сталкивался.. Есть таблица подготовленная для TdxDBTreeView.. Заранее не известно сколько там будет записей.. Девочки рекомендуют включать смарт рекорд, если кол-во записей > 1000. С этим все понятно можно в форм криэйт анализировать.. А вот если предположим делать импорт в таблицу - что лучше? Включать смарт рекорд сразу, или ждать пока 1000 элементов достигнет, а включать потом? Какая вставка работает быстрее, со смартом или без него??

Всего записей: 393 | Зарегистр. 04-08-2003 | Отправлено: 20:50 26-02-2009
vladman

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

Цитата:
Какая вставка работает быстрее, со смартом или без него

Инсертить то будете не в TreeView а в таблицу БД. Посему без разницы, НО  
1. перед началом инсерта - DisableControls у датасета в который вы инсертите;  
2. после инсерта - проверка количества записей в таблице и по результату определяемся с необходимостью смарт рекорд;  
3. и наконец - EnableControls у того же датасета.
 

Код:
<YourDataset>.DisableControls;
try
  //DoInsert;
  //DoCheckTotalRecordCount;
finally
  <YourDataset>.EnableControls;


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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Что это за смарт рекорд такой, что его нужно включать именно если записей >1000 И почему имеено 1000?

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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 23:02 26-02-2009
vladman

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

Цитата:
Что это за смарт рекорд такой

TdxDBTreeView.Options
trSmartRecordLoad - DBTreeView uses the smart record loading feature.  
Smart Record Loading

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 00:40 27-02-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