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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в 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
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ну так как всё таки выудить это самое cxLookupComboBoxPropertis.KeyValue?

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eyewo
Если данные в гриде берутся из датасета, то в поле датасета можно задать формат:

Код:
myField.DisplayFormat := 'dd-mmm-yyyy hh:nn'
или какой-нибудь подобный формат.
При этом, при фильтрации с помощью кнопки, находящейся в заголовке колонки, в выпадающем списке видим поля в виде "01.01.2007 0:00:00".
Чтобы иметь возможность задавать часы и минуты с помощью TcxFilterControl, нужно, чтобы  колонке грида было назначено в качестве Properties DateEdit с соответствующими установками.
Кроме того, можно поиграть с установками TableView:
TableView.DataController.Filter.DateTimeFormat
и TableView.DateTimeHandling. Последняя штука особенно мощная при группировке и фильтрации по полю даты
 
Добавлено:
X11

Цитата:
Ну так как всё таки выудить это самое cxLookupComboBoxPropertis.KeyValue?


Код:
var v: variant;
begin
v := myColumn.EditValue;
end;

или так:

Код:
var v: variant;
begin
v := myView.Controller.FocusedRecord.Values[myColumn.Index];
end;


Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 11:36 05-07-2007
eyewo

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2
 
Спасибо. Но я, на самом деле, уже перепробовала все вами перечисленное, только нужного эффекта так и не добилась.
 
Назначение myField.DisplayFormat не влияет на отображение описания фильтра, оно по прежнему выглядит так: "Начало (дата и время) = 03.07.2007".
 
И вот еще что странно. Колонке назначено Properties DateEdit, причем с Kind = cxDateTime и все такое. При этом как в cxFilterControl, так и в cxFilterDialog всплывающий редактор показывает календарь, часы и кнопку "Сегодня", но не кнопку "Сейчас" (всплывающий редактор в ячейке грида отображает кнопки правильно - "Сейчас", а не "Сегодня").

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dronton2
у меня нет колумнов, у меня есть Rows, я использую cxVerticalGrid
 
Добавлено:
если ты имеешь виду колумн у cxLookupComboBoxPropertis, то там тогда нужно таблицу создавать, да?
 
Добавлено:

Код:
 
v := (rState.Properties.EditProperties as TcxLookupComboBoxProperties).какой такой mycolumn??
 

 
Добавлено:

Код:
 
  v := (rState.Properties.EditProperties as TcxLookupComboBoxProperties).Grid.ViewInfo.Columns.Items[0].Text;
  ShowMessage(v);
 

Выдает заголовок столбца (выпадающего списка)
 
Добавлено:
я скоро с ума сойду от этих "девок"

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



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

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 12:34 05-07-2007
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica и что мен выдаст? значение поля ID?
 
Добавлено:
Как правило таблицы справочники состоят из 2х полей id и name, пользователь выбирает/видит name а в основную таблицу заносится поле id
 
Добавлено:
Dennica из выпадающего списка выбираю всё время разные значения и проверяю так
[code]
  v :=  rState.Properties.Value;
  ShowMessage(v);
 
все время ноль выдает

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
eyewo
У меня в строке описания фильтра отображается правильно: "(Дата = 03-июн-2007 00:00)".
При этом, Properties для колонки не задан.
 
X11

Цитата:
у меня нет колумнов, у меня есть Rows

Прости, забыл.
Dennica прав: используй  cxVerticalGrid1EditorRow1.Properties.Value. Оно выдаст значение поля ID из справочника. И именно это значение хранится в cxVerticalGrid1EditorRow1.
 

Цитата:
все время ноль выдает

Попробуй в Properties указать:
cxVerticalGrid1EditorRow1.Properties.EditProperties.ImmediatePost := true;
 

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



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

Цитата:
Попробуй в Properties указать:
cxVerticalGrid1EditorRow1.Properties.EditProperties.ImmediatePost := true;  

Dronton2
пользователь ручками не заполняет ничего в выпадающих списках, причем здесь ImmediatePost?

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Тогда каким образом заполняются значения полей?
Кусок кода можешь показать?

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот так, без кода
 
http://img160.imageshack.us/img160/5971/11111jt3.png

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
То есть, они добавляются напрямую в датасет?
Тогда что мешает взять значения напрямую из полей датасета?

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



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

Цитата:
из выпадающего списка выбираю всё время разные значения и проверяю так  
  v :=  rState.Properties.Value;  
  ShowMessage(v);  
 
все время ноль выдает

 
Да быть такого не может. Сделаю предположение, что поле ID указанное в KeyFieldNames на самом деле не существует в датасете, либо существует но во всех строках содержит нули %)

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica
тебе снимки экрана дать?
 
Добавлено:
http://img243.imageshack.us/img243/7594/62921150sd6.png
http://img369.imageshack.us/img369/20/61496868mz5.png
http://img149.imageshack.us/img149/2314/55872581mf4.png

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



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Т.е. этим ты хочеш сказать что мои предположения по поводу датасета не верны?
В общем решение тут было озвучено, и оно проверено и полностью рабочее. Почему у тебя не работает я могу только гадать. Сделай пример небольшой из одной формочки, вместо своего датасета подставь например dxMemData. Если не заработает, сможеш его выложить на поглядеть.

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ок, ждите
 
Добавлено:
Прикиньте, с dxMemDataset прокатывает нормально, только не id показывает!!!! всё таки не Id
а то, что видно в строке! Ща выложу пример
 
Добавлено:
я в шоке всё работает , как и вы говорили, и выкладывать стыдно рабочий пример, не пойму, что у меня не так в рабочем проекте, я приношу свои извинения за отнятое время, парни, не обижайтесь, всякое бывает
 
Добавлено:
Ещё вопрос, как менять местами строки, добавил в конец списка таблицу строку-категорию, а вверх поднять не могу
 
Добавлено:
я в шоке, пересоздал строку, теперь вместо нуля на все строки выдаёт Null

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

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

Цитата:
я в шоке, пересоздал строку, теперь вместо нуля на все строки выдаёт Null

К полю датасета строка прикреплена? Датасет открыт?
 

Цитата:
Ещё вопрос, как менять местами строки, добавил в конец списка таблицу строку-категорию, а вверх поднять не могу

 В LayoutEditor мышкой перетаскивай:
- на строку - добавить child
- чуть левее строки - добавить sibling

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



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
И в ListFieldNames, и в KeyFieldNames установлены значения полей. могу форму прислать по электронке. Я уже просто не знаю что делать. Что Dev с FIB+ не дружат, чтоли?
 
Добавлено:
Я сделал так:
1. кинул датасет + датасорс, соединил
2. кинул вертикалгрид
3. добавил строку
4. в EditProperties выбрал LookupCombobox
5. выбрал в listsource Datasource1
6. Выбрал в ListFieldNames поле NAME
7. Выбрал в KeyFieldNames поле ID
 
вроде всё, как и в тестовом примере
запустил приложение
 
Добавлено:
ураааааааааааааааааааа, заррррработалооооооооооо, заново таблицу пересоздал
 
Добавлено:
Но это ещё не всё, вопрос с извлечением id из комбобокса остался открытым, а именно:
добавление записей и привязка id r ybv hf,jnftn yjhvfkmyj

Код:
 
 procedure TfmAddApart2.ToolButton1Click(Sender: TObject);
begin
  (rIs.Properties.EditProperties as TcxComboBoxProperties).Items.Clear;
  fibdsState.Open;
  fibdsState.First;
  while not fibdsState.Eof do begin
    (rIs.Properties.EditProperties as TcxComboBoxProperties).Items.AddObject(fibdsState.FBN('NAME').AsString,
                                                                             Pointer(fibdsState.FBN('ID').AsInteger) );
    fibdsState.next;
  end;
end;  
 

 
А как теперь выудить ID, той строки которую пользователь выбрал?
 
Неужели никто не сталкивался?
 
Добавлено:
Даже если использовать cxImageComboBoxProperties, то как его заполнять
 
  while not tTypes.Eof do begin
    (rType.Properties.EditProperties as TcxImageComboBoxProperties).Description сюда не катит
 
 
Добавлено:
нашёл у девок на сайте, как мне это "перевести" для себя? Не совесем понятна первая строка, вернее совсем не понятна ;(
[code]
 
with TcxImageComboBoxProperties(TcxDBMultiEditorRowProperties(cxDBVerticalGrid1DBMultiEditorRow1.Properties).Editors.Items[2]).Items do
begin
  with Add do
  begin
    Description:='xxx';
    ImageIndex:=0;
    Value:=;
  end;

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 11:38 06-07-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
Я вот чего не пойму, почему ты так упорно пытаешся использовать комбобокс там где явну неоюходимо использовать лукапкомбо.. ы?

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 12:23 06-07-2007
X11



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

так не прокатывает, компилятор на add и Description ругается
[code]
  while not tTypes.Eof do begin
    with TcxImageComboBoxProperties(rType.Properties.EditProperties) do begin
      with add do begin
        Description:='xxx';
 
      end;
 
    end;
 
 
 
 
 
 
 
Dennica
я говорил, что у меня будет куча разных типов: Integer, String, boolean, выпадающие спики не связанные с таблицами базы, LookupCombobox, жалко дерево они не встроили в EditProperties
так что я тут на долго

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:24 06-07-2007 | Исправлено: X11, 12:29 06-07-2007
Dennica



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

Код:
   
  fibdsState.First;
  while not fibdsState.Eof do begin
    with (   rIs.Properties.EditProperties
          as TcxImageComboBoxProperties).Items.Add do
    begin
      Description := fibdsState.FieldByName('name').AsString;
      Value := fibdsState.FieldByName('id').AsInteger;
    end;
    fibdsState.Next;
  end;
 

Получаеш выбранное значение так:

Код:
  ShowMessage(VarToStr(rIs.Properties.Value));

 
Добавлено:
X11

Цитата:
жалко дерево они не встроили в EditProperties  

Дерево можно тоже прикрутить, но думаю тебе пока этим не нужно заморачиваться

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