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

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



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

Цитата:
Пробывал менять на TFIBWideStringField и TWideStringField - выдаёт ошибку.

А как менял? Ты в курсе про {$DEFINE UNICODE_TO_STRING_FIELDS}

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

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите решить проблему. Думаю просто DevExpress, это не поддерживают.
Вообщем если использовать Ribbon BarManager (интерфейс в стиле Office 2007), то ко всем элементам TdxBar можно устанавливать свойство ScreenTip: TdxBarScreenTip, и по наведению мыши на элемент мы видим красивый HINT, с названием, описанием и даже картинку можем вставить.
 
Хотелось бы такие же hints применять к другим элементам, например cxButtons, cxEdit, cxGroupBox, cxTextEdit, cxLabel... Либо даже к стандартным компонентам, заменить стандартный скромный хинт, на Ribbon-хинт. Было бы очень полезно и наглядно.
 
Пробовал добавить свойства, но там все наследуется от баров и ничего толкового не получилось сделать Скорей всего руки не оттуда растут... Подскажи пожалуйста можно ли решить мою задачу вообще и каким образом?

Всего записей: 205 | Зарегистр. 21-09-2006 | Отправлено: 02:13 22-04-2009 | Исправлено: omihaz, 02:14 22-04-2009
dc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11, спасибо!
 
{$DEFINE UNICODE_TO_STRING_FIELDS} - это было!

Всего записей: 17 | Зарегистр. 03-03-2006 | Отправлено: 08:41 22-04-2009
Kim006



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Столкнулся с проблемой - как заставить работать следующее:  
AView->Controller->EditingController->Edit->EditingValue.IsNull()
(всегда возвращает false)
 
т.е. нужно проверить данные были добавлены или стерты из ячейки (любого типа).
 
 

Всего записей: 16 | Зарегистр. 04-04-2009 | Отправлено: 12:30 22-04-2009
afiget



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

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 14:08 22-04-2009
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kim006
 
Если не ошибаюсь, то при стирании строкового поля Value принимает значение пустой строки, если не делать Clear(), тогда будет null. С числовыми надо смотреть.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 16:06 22-04-2009
Kim006



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

Цитата:
Если не ошибаюсь, то при стирании строкового поля Value принимает значение пустой строки, если не делать Clear(), тогда будет null. С числовыми надо смотреть.

Вопрос в том - как это проверить. if(AView->Controller->EditingController->Edit->EditingValue != NULL){...} не прокатит, да и не корректно это.  
Clear() и.т.п. не вызываются, ячейки таблицы редактируются с клавиатуры.

Всего записей: 16 | Зарегистр. 04-04-2009 | Отправлено: 01:41 23-04-2009
alexbozhko

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Господа!
Помогите советом.  
Есть датасет. К нему привязан cxGrid, обычное табличное отображение. В Датасете есть несколько LookUp полей. Соответственно, при нажатии на на соответствующий им Cell в Гриде должен открываться выпадающий список. Но хитрость вся в том, что мне необходимо прилепить к этому списку сверху кнопку "добавить новое значение".  
Примерно так:
   
В голову приходит только для соответствующего поля в GridView сделать Property PopupEdit. И в качестве PopupControl указать еще один Грид, заголовок единственного поля которого и будет выполнять роль этой кнопки. Вроде бы так и сделал. Но вылетает Access Violation при попытке закрыть этот список. При чем только при выборе определенных записей в списке. Ни  какими обработчиками в DataSet это вроде бы не связано.  
Может нечто подобное можно как-то проще смастерить?
 
 

Всего записей: 10 | Зарегистр. 05-10-2005 | Отправлено: 03:49 23-04-2009 | Исправлено: alexbozhko, 03:52 23-04-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexbozhko
А интересно  куда ты будеш добавлять новое значение, если у тебя LookUp поле
Ты проясни мысль, что надо,  а не как ты хочеш.

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 09:21 23-04-2009
infomSB



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexbozhko
А почему нельзя в лукапе просто добавить значение "Добавить элемент", а при его выборе сделать обработчик для создания нового элемента.

Всего записей: 75 | Зарегистр. 17-03-2006 | Отправлено: 09:23 23-04-2009
alexbozhko

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

Цитата:
А интересно  куда ты будеш добавлять новое значение, если у тебя LookUp поле  

По нажатию на кнопку вызывается новая форма, в которой и производится добавление записи в связанный DataSet. Точнее, в таблицу, к которой этот DataSet привязан. После чего, происходит обновление. Это все уже реализовано с помощью GridEh . В итоге в выпадающем списке появится вновь добавленное значение.  
Естественно, сам LookUp после нажатия на эту кнопку закроется, но при повторном нажатии новый элемент будет уже там. Иными словами, на кнопку эту вешается обработчик.
 
Добавлено:

Цитата:
А почему нельзя в лукапе просто добавить значение "Добавить элемент", а при его выборе сделать обработчик для создания нового элемента.  

Не совсем понял.
Прямо в LookUp, или в связанный с ним набор данных?
 
Прямо в LookUp, - а как?
В набор данных... Она же (кнопка) должна быть вверху списка всегда. Т.е. я должен скролить список, но первый элемент всегда должен быть первым в списке и в области видимости. Т.е. Приклееным. Как заголовок столбца в гриде. К тому же, кнопка должна отличаться внешне от обычного элемента списка. Т.е., если бы была возможность достучаться как-то да самого выпадающего списка, может что-то и можно было придумать. Но я не знаю как.

Всего записей: 10 | Зарегистр. 05-10-2005 | Отправлено: 10:47 23-04-2009
sldaac



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
alexbozhko
используй не LoocuрCombox, butonEdit кажется называется (нет делфи счас, не могу точно сказать)  в ней реализована кнопка и список (стрелочка и рядом кнопка), клик на стрелке открывает список для  выбора, на кнопку - пишеш  код в обработчике нажатия кнопки (вызываеш другую форму)

Всего записей: 721 | Зарегистр. 15-06-2005 | Отправлено: 11:17 23-04-2009
Kim006



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Заметил интересную весч:
AView->Controller->EditingController->Edit->EditingValue.IsNull() действительно принимает значение true если стереть значение из ячейки и на клавиатуре стрелками перейти на другую запись. переход мышью и вызов Post()  - ничего не дает (всегда false). Как это можно исправить, и в каком обработчике событий правельнее всего будет проверять этот момент?

Всего записей: 16 | Зарегистр. 04-04-2009 | Отправлено: 13:26 23-04-2009
FunCode



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
alexbozhko
А не подходит как вариант следующее:
в Lookup есть событие OnNew...
я у себя его обрабатываю, и если человек ввел
что-то новое - отсуствующее в списке, то я вывожу диалог
с вопросом - "Введенный элемент отсуствует в базе. Добавить?"
если да то вывожу если надо окно с указанием дополнительных
свойств этого элемента для заполнения пользователем,
потом refreshу данные Lookupа и и присваиваю ему полученный
идентификатор и все ...

Всего записей: 182 | Зарегистр. 22-10-2006 | Отправлено: 15:30 23-04-2009
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kim006
 
А чем не устраивает просто проверить, что редактируемое поле пустое?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 15:33 23-04-2009
Kim006



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
jicoff
Как, мне это и нужно.

Всего записей: 16 | Зарегистр. 04-04-2009 | Отправлено: 00:59 24-04-2009
dc

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Установил Devexpress .42 на Д2009 и Д2007.
В Д2007 видны все скины а в Д2009 только "UserSkin".
Пробовал переустановить, переустановить и в другом порядке - результат один и тот же.
 
Никто не встречался с такими странностями?

Всего записей: 17 | Зарегистр. 03-03-2006 | Отправлено: 08:32 24-04-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kim006
VarIsNull(MyDataSet.Fields[0].Value)

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Kim006
 
Полагаю надо анализировать AView->Controller->EditingController->Edit. Если наследует от TcxCustomTextEdit, то всегда можно свойство Text проверить. А так редактируемое поле всегда соответствует текущей записи, и можно воспользоваться советом afiget
 
Добавлено:
Правда если нужно анализировать данные до занесения гридом данных в текущую запись, то VarIsNull(MyDataSet.Fields[0].Value) не подходит.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 13:08 24-04-2009
afiget



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

Цитата:
Правда если нужно анализировать данные до занесения гридом данных в текущую запись

... то нужно воспользоваться событием View.Column.Properties.OnValidate (OnChange, OnEditValueChanged) - в зависимости от задачи. Только нужно помнить о том, что в некоторых событиях есть 2 значения: до изменения (старое) и после (новое).

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 13:49 24-04-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