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

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



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 08:51 03-07-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Я согласен с Dennica. Комбобокс нужен для того, чтобы ограничить пользователя вариантами выбора текста (или упростить работу пользователя).
В твоем случае нужно использовать ImageComboBox. И необязательно к нему прикреплять картинки. Я сам его использую постоянно, и всегда без картинок. Там есть ID, Tag, типы значений. Это удобный и полезный редактор.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 09:13 03-07-2007
X11



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 09:36 03-07-2007
X11



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

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:02 03-07-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Добавления куда и извлечения откуда? VerticalGrid? ImageComboBox.Items? Что-то другое?
 
На всякий случай, есть неплохая ссылка на саппорт центр.
Там часто объясняют с помощью примеров.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 16:44 03-07-2007 | Исправлено: Dronton2, 16:45 03-07-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2, да, именно, я создал в VerticalGrid несколько строк, некоторый типа TcxImageCombobox, туда нужно добавить данные в цикле по датасету, а потом при нажатии на кнопку извлечь ID, так сказать, выбранной пользователем записи.
 
Добавлено:

Цитата:
На всякий случай, есть неплохая ссылка на саппорт центр.  

искал там, мало инфы
 
Добавлено:
или пример извлечения id из TcxLookupComboBoxProperties
 
Добавлено:
ну типа, как получить KeyValue выбранной строки?
 
Добавлено:
этот код не совсем правильный
 

Код:
 
fmMain.ShowMessageI((rState.Properties.EditProperties as TcxLookupComboBoxProperties).ListSource.DataSet.FieldByName('id').AsInteger );
 

 
Добавлено:
https://www.devexpress.com/Support/Center/ViewKBIssue.aspx?kbid=A944
здесь нет примера
 
Добавлено:
интересно, почему код

Код:
 
fmMain.ShowMessageI((rState.Properties.EditProperties as TcxLookupComboBoxProperties).DataController.FocusedRecordIndex);
 

всегда показывает -1??

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:49 03-07-2007
drunk2



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Надо выделить в гриде несколько записей. Например с id=1,4,5. Как?

Всего записей: 204 | Зарегистр. 27-10-2005 | Отправлено: 08:08 04-07-2007
saltmi1



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Помогите понять как использовать MultiSelect в cxGrid.
Вроде все делаю правильно, а не работает.

Код:
 
var i: integer;  bookmark : TBookmarkStr;
begin
 for i := 0 to ClientView.controller.selectedrecordcount-1 do begin
     bookmark := ClientView.datacontroller.getselectedbookmark(i);
     ShowMessage(DM.ClientQ.FieldByName('FIRST_NAME').AsString);
 end;
 

Если в гриде 2 выбранные записи, то показывает два рза одно и то же имя. Причем если вначале выбрана запись 1 то и н=показывает 2 раза имя 1 и наоборот. Что здесь неправильно?

Всего записей: 36 | Зарегистр. 11-05-2007 | Отправлено: 10:05 04-07-2007
Dennica



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

Код:
var
 ARecordIndex: Integer;
...
  with cxGrid1DBTableView1 do begin
    ARecordIndex := DataController.FindRecordIndexByKey(1);
    if ARecordIndex <> -1 then
      ViewData.GetRecordByRecordIndex(ARecordIndex).Selected := True;
  end;
 

хотя есть и еще варианты...

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 10:09 04-07-2007
Dronton2

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

Код:
      DM.ClientQ.bookmark := ClientView.datacontroller.getselectedbookmark(i);
 

И ещё Gridmode должен быть True.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 10:24 04-07-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
saltmi1
Ты получаеш закладку и ничего с ней не делаеш. Помоему еще нужно явно перейти на запись в датасэте:

Код:
DM.ClientQ.Bookmark := bookmark;

 
Добавлено:
saltmi1
Dronton2

Цитата:
И ещё Gridmode должен быть True.

Важное замечание, я его упустил =)

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 10:25 04-07-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Непонятно, куда добавляются данные в цикле: записи в VerticalGrid, или в строки TcxImageCombobox?
 
Чем не подходит свойство TcxImageComboboxProperties.FindItemByValue?

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 10:42 04-07-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
данные в цикле добавляются в выпадающий список
вот из такой формы
http://www.ra-codecraft.com.ua/scr/FormEdit.png
я хочу создать форму добавления в виде таблицы
Куча выпадающих списков - это всё справочники.
И я вот решаю, что использовать, вроде TcxLookupCombobxProperties можно, но как оттуда вытащить KeyValue пока не допёр и на сайте у них не могу найти, неужели нельзя проще сделать...

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:09 04-07-2007
Dronton2

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

Цитата:
создать форму добавления в виде таблицы

Правильно ли я понял, что вместо множества Edit-контролов на форме будет один cxGrid, содержащий cxTableView? И некоторые поля будут иметь редакторы в виде TcxLookupCombobox?
И в какой момент нужно узнать KeyValue? Сразу после того, как пользователь выбрал какое-либо значение в выпадающем списке?
 
Тогда можно использовать событие EditProperties.OnChange,
получать значение TcxCustomGridTableItem.EditValue, и, возможно, нужно установить TcxCustomEditProperties.ImmediatePost := true;

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 12:51 04-07-2007 | Исправлено: Dronton2, 12:52 04-07-2007
saltmi1



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica
Dronton2
Заработало! Спасибо товарищи.

Всего записей: 36 | Зарегистр. 11-05-2007 | Отправлено: 13:28 04-07-2007
X11



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

Цитата:
Правильно ли я понял, что вместо множества Edit-контролов на форме будет один cxGrid

cxVerticalGrid
 
Добавлено:

Цитата:
И некоторые поля будут иметь редакторы в виде TcxLookupCombobox?  

именно
 
потом всё будет по нажатию кнопки
DataSet.FieldByName('ID_Type').AsVariant := (rowType.properties.EditProperties as TcxLookupComboboxProperties).что сюда???
 
Добавлено:

Цитата:
получать значение TcxCustomGridTableItem.EditValue

но мне нужно KeyValue, вот в библиотеке EhLib контролы имеют KeyValue, там всё просто и понятно и код не такой длинющщий, как у девок

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 13:29 04-07-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
В случае справочников нормальным считается случай, когда EditValue в колонке cxVerticalGrid равно значению KeyField в cxLookupComboBox.

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 14:38 04-07-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
я думал, что EditValue это видимое значение, типа поле Name из справочника

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:19 04-07-2007
eyewo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В cxGrid в столбце, отображающем значение типа "дата и время" не отображается полночь. Вместо "01.01.2007 0:00:00" показывается "01.01.2007". Любое другое время отображается полностью ("01.01.2007 10:30:00"). То же самое происходит при назначении и отображении фильтра (в поле ввода значения для сравнения и в строке описания фильтра). Как сделать чтобы время отображалось везде и в любом случае?

Всего записей: 8 | Зарегистр. 03-05-2007 | Отправлено: 05:27 05-07-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eyewo
Для колонки грида можно самому как нужно форматироать значение в OnGetDataText. Насчет фильтра затрудняюсь =\

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 08:11 05-07-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