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

НовостиФайловые архивы
ПоискАктивные темыТоп лист
ПравилаКто в on-line?
Вход Забыли пароль? Первый раз на этом сайте? Регистрация
Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Использование DevExpress

Модерирует : ShIvADeSt

ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918
 Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

Обмен опытом, обсуждение нюансов и решение проблем возникающих при использовании библиотеки компонент Developer Express




 
Сами прирученные компоненты частенько приходят на водопой сюда

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:42 08-10-2003 | Исправлено: golkanavt, 15:41 08-09-2006
samusev



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

Цитата:
на OnEditValueChanged, я думаю

 
не подходит! Так как это поле находится еще и в режиме свободного ввода - мне нужно перехватывать именно событие - "Выбрано в ниспадающем списке" (не важно мышем или клавой)

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 16:23 20-11-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
 
Мне не удалось найти такого события. И все же не понятно, что не устраивает в OnEditValueChanged?

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 16:50 20-11-2006
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Потому что это событие возникает в любом случае изменения Field.editText или field.editvalue. Ручками или программно =например при инициализации формы.
А мне нужно заполнять остальные поля формы только после выбора из списка.
 
Подробнее так.  - есть форма данных по клиенту.
ФИО и так далее. Поля формы НЕ db-aware Я ее использую и для создания нового клиента и для выбора уже имеющихся в базе. Выборка производится по полю ФИО.  
 
вот если я в списке выбрал кого-то, то тогда заполнить все остальные поля формы данными из FIOField.properties.Лукап-датасета
 
В общем отловить событие onSelect (onEnter) именно у ниспадающего списка невозможно. ,(( - плАчу

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 18:15 20-11-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
Ты только не плачь см. OnCloseUp

Код:
 
procedure блаблаFIOEditPropertiesCloseUp(Sender: TObject);
begin
   TcxComboBox(Sender).ItemIndex > 0; // Выбрали из списка
   TcxComboBox(Sender).ItemIndex = -1;// Набили руками
end;
 

Sorry. TcxLookupComboBox конечно.

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 18:23 20-11-2006 | Исправлено: OXDBA, 18:25 20-11-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
 
Только индекс с нуля начинается.

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 20:36 20-11-2006
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
ну а вобще при программном изменении флажок можно выставлять..

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 02:30 21-11-2006 | Исправлено: A_V, 02:31 21-11-2006
OXDBA

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

Цитата:
Только индекс с нуля начинается.

Точно , просто у меня в 0 раньше было 'Создать новый ...', это только сейчас я понял, что в cxComboBox можно еще кнопок довавить

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 10:23 21-11-2006
Kr_Alex



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
 
Хм, щас попробовал добавить кнопки к cxCombobox - проблемне вызвало, а как события на них повесить?

Всего записей: 120 | Зарегистр. 16-07-2004 | Отправлено: 10:37 21-11-2006
OXDBA

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

Код:
 
procedure OnMyComboBoxBtnClick(Sender: TObject; AButtonIndex: Integer);
 

Затем назначаем ее обработчику OnButtonClick

Код:
 
MyDBEditorRow.Properties.EditProperties.OnButtonClick := OnMyComboBoxBtnClick;
 

 

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 10:56 21-11-2006
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
OXDBA
[q][/q]
 
Огромное спасибо!
 
Твое решение работает!

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 12:00 21-11-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
вопрос.
есть схгрид, в нем поля, надо что бы всего одно поле, если его значение не вмещается в ширину поля на экране, показывало его значение в подсказке (hint) например как это сделано в службах винды. там если описание строки не влезает - показывается подсказка с полным описанием
 
возможно ли это. а то что то я не раскопал...
 
Добавлено:
Извиняюсь за офтоп - нашел сам.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 17:40 21-11-2006
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Простите за назойливость - есть еще задача.
Проект ДевЭкс сентябрьские+BSD2006
 
Грид содержит большое кол-во колонок  с "полнозвучными" заголовками которые просто просятся нарисоваться вертикально.
 
Нашел на офф сайте Девок такой код
 
procedure TfmMainForm.cxDailyOpGridDBTableView1_Колонка_CustomDrawHeader(
  Sender: TcxGridTableView; ACanvas: TcxCanvas;
  AViewInfo: TcxGridColumnHeaderViewInfo; var ADone: Boolean);
var
  Size: TSize;
  OldFont, LogFont: TLogFont;
  ARect: TRect;
  AFilterRect: TRect;
  I: Integer;
  AButtonState: TcxButtonState;
begin
  with AViewInfo do
  begin
    GetObject(ACanvas.Font.Handle, SizeOf(OldFont), @OldFont);
    LogFont := OldFont;
    with LogFont do
    begin
      lfEscapement := 900;
      lfOrientation := lfEscapement;
      lfOutPrecision := OUT_TT_ONLY_PRECIS;
    end;
    ACanvas.Font.Handle := CreateFontIndirect(LogFont);
    GetTextExtentPoint32(ACanvas.Handle, PChar(Text), Length(Text), Size);
    ARect := Bounds;
    if Size.cx > ARect.Bottom - ARect.Top then
    begin
      ACanvas.Font.Handle := CreateFontIndirect(OldFont);
      Exit;
    end;
    AButtonState := cxbsNormal;
    with TcxGridColumnHeaderViewInfoAccess(AviewInfo) do
      for I := 0 to AreaViewInfoCount - 1 do
        if AreaViewInfos[I] is TcxGridColumnHeaderFilterButtonViewInfo then
        begin
          AFilterRect := TcxGridColumnHeaderFilterButtonViewInfo(AreaViewInfos[I]).Bounds;
          AButtonState := TcxGridColumnHeaderFilterButtonViewInfo(AreaViewInfos[I]).ButtonState;
          Break;
        end;
    Sender.Painter.LookAndFeelPainter.DrawHeader(ACanvas,
      Bounds, ARect, Neighbors, Borders, cxbsNormal, taCenter,
      TcxAlignmentVert(vaCenter),
      False, False, '', ACanvas.Font, clNone, Color);
 
    with ARect do
    begin
      Left := (Left + AFilterRect.Left - Size.cy) div 2;
      Right := Left + Size.cy;
      Bottom := (Bottom + Top + Size.cx) div 2;  // << center vertical alignment
      Top := Bottom - Size.cx;
    end;
    ACanvas.Canvas.TextRect(ARect, ARect.Left, ARect.Bottom, Column.Caption);
 
    Sender.Painter.LookAndFeelPainter.DrawFilterDropDownButton(ACanvas,
            AFilterRect, AButtonState, AViewInfo.Column.Filtered);
    ADone := True;
  end;
end;
 
Работает сносно , НО только для колоной у которых есть кнопка фильтрации. С другими ни как.
 
Подскажите решение...

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 19:30 21-11-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
 
На 64 странице я давал рабочую процедуру отрисовки заголовка колонки с вертикальным текстом для QGrid5. Отрисовываются кнопки сортировки и фильтра (В Knowledge Base на сайте DevExp есть вариант, но без поддержки сортировки). Процедуру можно вызывать в обработчике CustomDrawHeader.  

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 09:11 22-11-2006
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex47
Спасибо - помогло!
 
RedPromo
А можно батничек на почту получить AddHelpDevExpress для BDS2006
asamusev Ссабака жмайл.ком

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 11:29 22-11-2006
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
В ветке по БДС2006 есть батник.

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 12:13 22-11-2006
samusev



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
afiget -спс -нашел
 
Еще вопрос. Уж коли занялись оформлением QuantumGrid. Пробовал кто-нибудь реализовать многоуровневую шапку.
Типа
+--------------------+
|     Header            |
+---------+----------+
|  Sub1   |  Sub2     |
+---------+----------+
 
Даже не знаю как на оффсайте поискать. Какими словами это обозвать?

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 15:22 22-11-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
samusev
BandedTableView? Или я не понял вопроса?

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 15:26 22-11-2006
samusev



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

Всего записей: 75 | Зарегистр. 03-03-2005 | Отправлено: 15:43 22-11-2006
OXDBA

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Гм. DbBandedTableView как раз и предназначен  для решения этой задачи, где Header это Band, а Sub1, Sub2 - заголовки столбцов(см. Banded View Tutorial. Step 2: Bands And Columns в хелпе)
 
Добавлено:

Цитата:
Нет! в простом DBTableView

onCustomDrawColumnHeader + большой напильник + много времени и терпения

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 16:02 22-11-2006
QQQRurik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
День Добрый
 
Кто подскажет, как зафиксировать первые колонки  
в TcxGrid (!!!!! не в Band) - TcxDBTableView
 
(Типа FixedCols в RX)
 
Pleeeeeease!?!
 
 
 
 

Всего записей: 33 | Зарегистр. 05-11-2006 | Отправлено: 03:46 23-11-2006
   

Страницы: 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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Закладки » Использование DevExpress
ShIvADeSt (29-01-2007 03:17): идем сюда
http://forum.ru-board.com/topic.cgi?forum=33&topic=7918


Реклама на форуме Ru.Board.

Powered by Ikonboard "v2.1.7b" © 2000 Ikonboard.com
Modified by Ru.B0ard
© Ru.B0ard 2000-2024

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru