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

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



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопрос.
Приложение содержит много форм с гридами.
Колонки в гридах создаются в runtime. Примерно по 70 колонок на каждый грид.
При определенном количестве открытых форм начинает появлятся ошибка: недосточно памяти, для выполнения операции. Ошибка эта происходит или при создании очередной вьюхи или при создании очередной колонки во вьюхе. Кто сталкивался с такой проблемой?

Всего записей: 153 | Зарегистр. 19-04-2003 | Отправлено: 17:43 30-01-2007
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vudr
 
Может посмотреть с помощью какого-либо профайлера как расходуется память?

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 13:46 31-01-2007
Vudr



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А какой профайлер посоветуешь? Я смотрел с помощью деспетчера задач, винда даже свопить не начинает хотя оперативка почти вся израсходованна.
Тестовое приложение в котором я просто создаю вьюхи в репозитарий  дает тотже результат на 2000х объектах. Хотя обычных контролов я могу насоздавать хоть 60000.
Проблема именно в девах. А мне нужно много вьюх и много колонок в каждой.
В базе знаний девов подобной проблемы нет.

Всего записей: 153 | Зарегистр. 19-04-2003 | Отправлено: 14:08 31-01-2007
Bol970



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравия желаю All.
Имеется необходимость создать в Grid систему master-detail.
Но есть особенность нужно использовать просто таблицу (Table)
не DBTable. А там в свойствах вида не могу найти где настроить
по какой колонке будет производится операция выборки.
У меня сейчас в master таблице (тоже не DBTable) есть колонка "col1",
а в подчиненной таблице "dcol1" по которым и нужно делать выборку.
Помогите, в примерах все завязано на DBTable.
Сейчас у меня хотя в detail- таблице и есть данные  
в grid они не показываются вовсе.

Всего записей: 94 | Зарегистр. 05-10-2004 | Отправлено: 14:25 31-01-2007
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Vudr
Есть хороший профилер в варезнике AutomatedQA.AQTime.
А может попробовать девок обновить?

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 15:25 31-01-2007
Vudr



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

Всего записей: 153 | Зарегистр. 19-04-2003 | Отправлено: 16:19 31-01-2007
drunk2



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
В  программе DelphiComp Reader (та, что с обменником работает) реализован инкрементальный поиск как в firefox  + при нажатии на "Показать" выделяется совпадающий текст во всем гриде. как это реализовать ?
у меня поиск только по первому столбцу нормально идет(

Код:
 
0: найдено совпадение
-1: не найдено совпадение
-2: совпадений нет  
 
function IncSearchTextInView(AGrid: TcxGrid; IncSearchText: String;
                             var AIncSearchItem: Integer; AForward: Boolean; SearchResult: Integer): Integer;
var
  AView:  TcxGridTableView;
begin
  Result:=SearchResult;
 
  AView := TcxGridTableView(AGrid.FocusedView);
  if IncSearchText='' then
    begin
      AIncSearchItem:=0;
      AView.DataController.Search.Cancel;
      Exit;
    end;
  if (Result=-2) or (Result=0) then
     Exit
  else
    begin
      // поиск уже идет
      if AView.Controller.IsIncSearching then
        begin
          if AView.DataController.Search.LocateNext(AForward)=false then
            begin
             // ищем следующий
             if AForward=true then
                begin
                  if (AIncSearchItem)<=(AView.VisibleColumnCount-1) then
                    begin
                      inc(AIncSearchItem);
                    end
                  else
                    begin
                      AIncSearchItem:=0;
                      AView.DataController.Search.Cancel;
                      Result:=-2;
                      Exit;
                   end;
                end
              // ищем предыдущий
              else if AForward=false then
                begin
                  if (AIncSearchItem-1)>=0 then
                    begin
                      dec(AIncSearchItem);
                    end
                  else
                    begin
                      AIncSearchItem:=0;
                      AView.DataController.Search.Cancel;
                      Result:=-2;
                      Exit;
                    end;
                end;
              Result:=IncSearchTextInView(AGrid, IncSearchText, AIncSearchItem, AForward,Result);
            end
          else
            begin
              Result:=0;
              Exit;
            end;
        end
      // начало поиска
      else
        begin
          AView.Controller.EditingController.HideEdit(True);
          AView.DataController.GotoFirst;
          if AView.DataController.Search.Locate(AIncSearchItem, IncSearchText)=true then
            begin
              Result:=0;
              Exit;
            end;
        end;
    end;
end;
 
 
help
 
 

Цитата:
при нажатии на "Показать"
в firefox это "Подсветить все". раньше  не замечал

Всего записей: 204 | Зарегистр. 27-10-2005 | Отправлено: 19:06 02-02-2007 | Исправлено: drunk2, 13:47 04-02-2007
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята посмотрел DelphiComp Reader
тоже заинтересовал поиск.
 
Кто нибудь знает имя автора?
 
Так же интересен вопрос - как можно для строки грида показать произвольный хинт?

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 10:12 05-02-2007
OXDBA

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

Цитата:
Кто нибудь знает имя автора?

3SCrack

Цитата:
Так же интересен вопрос - как можно для строки грида показать произвольный хинт?

Надеюсь это поможет
How to programmatically display cell hints within a grid
Насколько я понимаю в DelphiComp Reader используется TMS. а не девки.
 

Всего записей: 426 | Зарегистр. 19-01-2005 | Отправлено: 11:08 05-02-2007
skast



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите возможно ли сделать в CxGrid одну ячейку неактивной, типа ReadOnly?????

Всего записей: 2 | Зарегистр. 06-02-2007 | Отправлено: 10:46 06-02-2007
Dennica



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skast
Именно ячейку по какому-то условию или весь столбец устроит?

Всего записей: 235 | Зарегистр. 19-12-2005 | Отправлено: 14:54 06-02-2007
skast



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dennica
Именно ячейку, точнее ячейки, которые отвечают какому-либо условию!

Всего записей: 2 | Зарегистр. 06-02-2007 | Отправлено: 15:24 06-02-2007
Dronton2

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
skast
У TableView есть event OnEditing:
TcxGridEditingEvent = procedure(Sender: TcxCustomGridTableView; AItem: TcxCustomGridTableItem; var AAllow: Boolean) of object;
property OnEditing: TcxGridEditingEvent;
 
проверяешь параметры Sender и AItem и устанавливаешь когда нужно AAllow := false;

Всего записей: 460 | Зарегистр. 27-06-2005 | Отправлено: 16:48 06-02-2007
kasia

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброе время суток.
Есть такая проблема:
В таблице в одной колонке есть имена файлов. По нажатию на кнопку происходит обработка этих файлов и в зависимости от того как прошла обработка, в другой колонке напротив каждого имени файла выставляется статус (текстовая запись).
Вопрос: Надо чтобы каждому статусу соответствовал свой цвет записи. Например "Fault" должно быть написано красным.
 
А в третьей колонке идут кнопки, надо что бы в случае если статус Fault  - кнопка была неактивна, иначе активна
Спасибо.

Всего записей: 2 | Зарегистр. 07-02-2007 | Отправлено: 17:39 07-02-2007
golkanavt



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

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 17:54 07-02-2007
kasia

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
А как быть с кнопкой?
 
Добавлено:
И еще.
А нельзя ли как-то обратится к стилю конкретной ячейки, наподобие колонка такая-то, строка номер такая-то.

Всего записей: 2 | Зарегистр. 07-02-2007 | Отправлено: 18:45 07-02-2007
A_V

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
kasia
стиль меняй на OnGetContentStyle колонки, кнопку на OnGetProperties

Всего записей: 770 | Зарегистр. 07-04-2002 | Отправлено: 00:00 08-02-2007
Nicka_Grey

Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Vudr
По поводу твоего вопроса, для начала уточни плз при выдаче ошибки сколько свободных ресурсов на машине и какие еще проги запущены, и еще какие компоненты юзаешь в проекте? Нет ли часом Raize-ов, особенно их RzPageControl-a?
Есть подозрение что не хватает именно GDI- ресурсов винлды.

Всего записей: 1282 | Зарегистр. 04-01-2003 | Отправлено: 02:24 08-02-2007
ChudinovSS

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Здравствуйте.
Проблема такая:
в cxGrid данные сгруппрированы (3 уровня вложенности):
[+]территория
    [+] отрасль
          профессия
как, зная наименование территории, отрасли и професии сделать expand на соответствующих уровнях и установить указатель на нужной професии...
пробовал вот таким методом:
With cxGrid3DBTable1 do
begin
  i:=DataController.FindRecordIndexByText(0,2,Terrs.text.text,true,true,true);
  n:=DataController.GetRowIndexByRecordIndex(i,true);
  ViewData.Rows[n].Expand(True);
 
  i:=DataController.FindRecordIndexByText(i,6,Otrs.text,true,true,true);
  n:=DataController.GetRowIndexByRecordIndex(i,true);
  ViewData.Rows[n].Expand(True);
 
  i:=DataController.FindRecordIndexByText(i,4,Prof.text,true,true,true);
  n:=DataController.GetRowIndexByRecordIndex(i,true);
 
  Controller.FocusedRowIndex:=n;
 
end;
 
Конечно код не очень оптимизированный
может сам алгоритм корявый, но в итоге получается, что правильно определяется только "территория" (и почему-то раскрывается 1-я во вложенном списке отрасль), а остальное нет
Хелп, плиз. Я уже замучился.

Всего записей: 1 | Зарегистр. 08-02-2007 | Отправлено: 11:46 08-02-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