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

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



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Virtu
Не жалко, это форум а не чат, и круглые сутки здесь никто не сидит, умей ждать. А чем стандартные демки из набора не устраивают? Что именно тебе не нравится во внешнем виде?

----------
Shit happens...

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 11:36 01-08-2005
Virtu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
 
Увы, ждать время не терпит... )
Спасибо, что откликнулся, нет у меня демок с исходниками, единственная, что есть - это уже готовый exe'шник. Там все красиво и нормально, у меня получается ерунда...
Например :
Разработка   Петров     Вася
Разработка   Васечкин Петя
Разработка   Иванов Ваня
 
А нужно :
Разработка    
     |----Васечкин Петя
     |----Петров     Вася

Всего записей: 4 | Зарегистр. 27-07-2005 | Отправлено: 11:44 01-08-2005
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Выложил демки сюда. Проверяй свойства, DataController->ParentField, KeyField

----------
Shit happens...

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 13:35 01-08-2005
Virtu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
golkanavt
Спасибо большое, сейчас буду смотреть!
 
Добавлено:
golkanavt
Блин, все правильно делаю, один хрен рисует не так!
По ссылке картинка с результатом работы...
 
http://up.spbland.ru/files/05080114/

Всего записей: 4 | Зарегистр. 27-07-2005 | Отправлено: 14:19 01-08-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Virtu
Проверь данные и выставь свойство RootValue

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 15:35 01-08-2005
Virtu

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
 
Самое интересное, что с одной таблицей все работает правильно... а вот с двумя получается бардак-с.... хм...

Всего записей: 4 | Зарегистр. 27-07-2005 | Отправлено: 16:02 01-08-2005
Alexandre

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Добрый вечер мастерам DevExpress!
Подскажите пожалуйста, как в cxComboBox в выпадающем списке значения раскрасить разными цветами, и в зависимости от другого свойства (принимающего значения true или false) сделать некоторые записи жирным.

Всего записей: 642 | Зарегистр. 24-02-2003 | Отправлено: 18:43 01-08-2005
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
См. событие Properties.OnDrawItem - рисуй, что душе угодно

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 20:17 01-08-2005
Alexandre

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

Цитата:
См. событие Properties.OnDrawItem - рисуй, что душе угодно

А не могли бы вы дать маленький примерчик, а то я все уже попробовал и у меня не получается.

Всего записей: 642 | Зарегистр. 24-02-2003 | Отправлено: 09:47 02-08-2005
Alex1978

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

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 10:34 02-08-2005
xokc

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

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

Ну вообще-то в хелпе пример есть. Для начала стоит туда заглядывать.
Ну вот еще немного (четные строки - красные):
 
procedure TForm3.cxComboBox1PropertiesDrawItem(AControl: TcxCustomComboBox; ACanvas: TcxCanvas; AIndex: Integer;
  const ARect: TRect; AState: TOwnerDrawState);
var
  ATextRect: TRect;
begin
  if odSelected in AState then
  begin
    ACanvas.Brush.Color := clHighlight;
    ACanvas.Font.Color := clWhite;
  end else
  begin
    ACanvas.Brush.Color := clWhite;
    ACanvas.Font.Color := clBlack;
  end;
 
  ACanvas.FillRect(ARect);
  if AIndex mod 2 = 0 then ACanvas.Font.Color := clRed;
  ATextRect := ARect;
  ATextRect.Left := ATextRect.Left + 3;
  ACanvas.DrawText(AControl.Properties.Items[AIndex], ATextRect, cxAlignVCenter);
end;

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 22:31 02-08-2005
Alex47



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

Цитата:
Выборка уникальных значений поля из того же датасета...  

Используют приблизительно такой вариант:
with <Column>.Properties as TcxComboBoxProperties do begin
  Items.Clear;
  for i:=0 to <TheSource>.Recordcount-1 do
    if Items.IndexOf(<TheSource>[i])<0 then
      Items.Add(<TheSource>[i]);
end;

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 09:56 03-08-2005
Alexandre

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xokc
Спасибо большое. Работает!!!

Всего записей: 642 | Зарегистр. 24-02-2003 | Отправлено: 10:45 03-08-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогите разобраться почему метод CanSelectNode не работает.
Пишу
procedure TMainForm.trlMainCanSelectNode(Sender: TObject;  
  ANode: TcxTreeListNode; var Allow: Boolean);  
begin  
  if ANode.Level = 0 then  
    Allow := False;  
end;  
Без толку.

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 14:55 04-08-2005
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
 
Вопрос: How to prevent a node from being selected? I want the user to see all nodes at level 0 and 1, but  to be able to only select nodes at level 0.
 
Ответ:
 try YourTreeList.OnChangeNode:
  if (Node<>nil) and (Node.Level>1) then begin
    if (OldNode<>nil) then OldNode.Focused := True  
    else dxTreeList.FocusedNumber := -1;
  end;
PS: MultiSelect and CanNodeSelected are for a other task (See Helpfile).
 

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 15:59 04-08-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Alex47
То ли лыжи не едут, то ли я ...
у TcxTreeList нет события OnChangeNode, есть OnNodeChanged - но это совсем из другой оперы.
Все что смог пока сделать, так это
 
procedure TMainForm.trlMainFocusedNodeChanged(Sender: TObject;
  APrevFocusedNode, AFocusedNode: TcxTreeListNode);
begin
  if APrevFocusedNode<> nil then
    if (AFocusedNode <> nil) and (AFocusedNode.Level = 0) then
      APrevFocusedNode.Focused := True;
end;
 
Но это не то, смена текущего узла к этому моменту произошла и я лишь возвращаю фокус, а нужно запретить выбор неугодного узла. Как решить проблему?  
 
Описалова в хелпе CanNodeSelected не нашел.

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 09:43 05-08-2005 | Исправлено: Alex1978, 09:51 05-08-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
Судя по исходникам данный метод работает токо при MultiSelect = true;
 
P.S. Проверил, работает.

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 12:13 05-08-2005 | Исправлено: Darl, 12:15 05-08-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Darl
Да я тоже это видел, но ведь должен же быть какой-то способ без мульселекта.

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 12:20 05-08-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
 
function TcxCustomTreeListControl.DoCanSelectNode(ANode: TcxTreeListNode): Boolean;
begin
  Result := True;
  if IsMultiSelect and (ANode <> nil) and CheckEvent(Assigned(FOnCanSelectNode)) then
    FOnCanSelectNode(Self, ANode, Result);
end;

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 12:36 05-08-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Darl
И че править исходники?

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 12:44 05-08-2005
   

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