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

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



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Хочу в отдельном потоке после выполнения запроса GRIDDBTABLEVIEW.DataController.DataSource:=dSrcList, т.к. грид заполняеться некоторое время.
Выдаёт ошибку: Недопустимый дескриптор окна. Причём обычный грид при этом работает нормально, а с TcxGrid - ошибка. Может, кто-то сталкивался с этим и как с этим бороться. Версия  - 6.31. Заранее благодарен за помощь

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 12:30 11-02-2008
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vavavol
Перед потоком выполни на гриде (или на View) BeginUpdate
После потока выполни EndUpdate
должно помочь ...

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 11:32 12-02-2008
vavavol



Junior Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Помогло, но в том-то и прикол, что хотелось, чтобы загрузка данных в грид происходила в потоке. А так в потоке проскочило и не зацепилось, зато после EndUpdate затягиваються данные (в основном)

Всего записей: 181 | Зарегистр. 25-01-2006 | Отправлено: 14:22 12-02-2008
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vavavol
Были там сложности с работой в потоке ... когда-то копал. Смирился с положением вещей, использую как есть.  
Для ускорения можно в грид-мод переключиться в ущерб функционалу.

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 21:01 13-02-2008
DmitryZzz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые, прошу совета по cxGrid (6)
Есть большой набор данных (несколько тысяч записей). На клиенте хочется эти данные крутить/вертеть/группировать/фильтровать в гриде. Проблема: большой набор данных долго закачивается. Переключить грид в другой режим (закачка порциями) - фильтры в заголовках столбцов не будут работать.
Можно ли:
для определенных ключевых столбцов сделать полную загрузку значений в список фильтра, но сам грид оставить в режиме постраничного отображения?
То есть - показано любые 100 записей в гриде, щелкаем на заголовке одной колонки, выбираем значение *из 1000 значений* - в грид загружаются 100 записей уже удовлетворяющих фильтру?

Всего записей: 15 | Зарегистр. 29-06-2005 | Отправлено: 10:44 14-02-2008
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Думаю, что лажа..... Делай всё SQL запросами. Пусть сервер думает - у него башка большая.

Всего записей: 3260 | Зарегистр. 24-11-2005 | Отправлено: 11:17 14-02-2008
golkanavt



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

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

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 11:25 14-02-2008
shulum



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DmitryZzz
Соглашусь с X11 и golkanavt
оставь эту затею ... чем-то надо жертвовать - в данном случае временем загрузки ... ну а как награда - функционал cxGrid  
 
 

Всего записей: 121 | Зарегистр. 11-06-2006 | Отправлено: 12:52 14-02-2008
pTolik



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите пожалуйста где можно почитать про использование компонентов DevExpress под Visual Studio 2005/2008.
Спасибо.
 
P.S. По русски.

Всего записей: 51 | Зарегистр. 24-04-2007 | Отправлено: 20:45 14-02-2008 | Исправлено: pTolik, 20:47 14-02-2008
X11



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

Цитата:
P.S. По русски.


Всего записей: 3260 | Зарегистр. 24-11-2005 | Отправлено: 09:54 15-02-2008
DShtorm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Такой вопрос  
редактируется вообщем ячейка . Нажимаем ентер в конце .
Из редактирования вышли фокус остался на ячейке .
 
Пишем код в EditKeyDown
var
  GoForward: Boolean;
begin
// заставлюя грид перепрыгивать в следующую ячейку если нажать влево вправо
  if (AEdit is TcxCustomEdit) and
    ((Key = VK_LEFT) or (Key = VK_RIGHT)) then
  begin
    GoForward := (Key = VK_RIGHT);
    Key := 0;
    Sender.Controller.FocusNextCell(GoForward, True, False);
  end;
end;
 
Болезнь вылечилась фокус переходит на следующую ячейку когда нажимаем стрелочку влево ( вправо )
 
Но появился новый косяк фокус переходит при любом нажатии , а надо
чтобы переходил только если в редактируемой ячейке текстовый курсор находится после последнего символа  
 
Никто не занет как это сделать ??
 
 

Всего записей: 106 | Зарегистр. 06-06-2007 | Отправлено: 22:56 15-02-2008
clear2121



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет ВСЕМ!
Поставил CodeGear 2007 C++ Builder. Взял рабочий прект из BDS2006. И начались проблемы. Кое какие я решил, но не могу понять вот, что (все в TcxTreeList):
 
1. В BDS2006 код  
if ( (String)GR_OBR->FocusedNode->Values[6] == "ДА " ) был необходим, а в 2007 уже выходит сообщение об ошибке:
 [BCC32 Error] main.cpp(605): E2015 Ambiguity between '_fastcall System::AnsiString::AnsiString(const System::AnsiString &) at c:\program files\codegear\rad studio\5.0\include\vcl\dstring.h:70' and '_fastcall System::AnsiString::AnsiString(const wchar_t *) at c:\program files\codegear\rad studio\5.0\include\vcl\dstring.h:72'
  [BCC32 Error] main.cpp(605): E2031 Cannot cast from 'Variant' to 'AnsiString'
 
2. Тоже и с присвоением:
из 2006  
String tmp = (String)GR_OBR->FocusedNode->Values[6];  
проходило нормально, здесь выдает ошибку.
 
3. Все время использовал в начале проги СПЛЭШ форму. В Source
Application->Initialize();
Application->Title = "Цех NGN.";
Form10 = new TForm10( Application );
Form10->PB->Properties->Max = 30;
Form10->Show();
а в проге в создании Form1
void __fastcall TForm1::FormCreate(TObject *Sender)
{
    Form10->PB->Position = 7;
    Application->ProcessMessages();
    ShowCursor( true );
 
    Form10->cxLabel1->Caption = "Инициализация программы...";
    Application->ProcessMessages();
 ...
 
Компилится нормально, но при запуске проги первые две строки пролазят нормально, а на лайбел ругается ACCES ... (ошибка доступа). В чем дело?
 
Вообщем хотелось бы перейти на CodeGear2007, но если такая хрень непонятная с Девками, то придется остаться на BDS2006/
 
СПАСИБО!

Всего записей: 311 | Зарегистр. 07-04-2005 | Отправлено: 05:23 16-02-2008
Widoms



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

Всего записей: 378 | Зарегистр. 09-01-2004 | Отправлено: 06:47 16-02-2008 | Исправлено: Widoms, 06:48 16-02-2008
DShtorm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Делаем навигацию по Гриду а-ля Ексел ( завершаем редактирование
как стрелками так и ентером )
 
uses
  cxTextEdit;
 
обработчик EditKeyDown
 
var
  GoForward: Boolean;
begin
// заставлюя грид перепрыгивать в следующую ячейку если нажать влево вправо
// а-ля Excel
  if (AEdit is TcxCustomEdit) and
    ((Key = VK_LEFT) or (Key = VK_RIGHT)) and
// сравниваю равна ли позицию курсора в тексте последнему символу
  (TcxTextEdit(Sender.Controller.EditingController.Edit).CursorPos =
  Length(TcxTextEdit(Sender.Controller.EditingController.Edit).Text))
  and
// проверяю есть ли какое-нибудь выделение текста
  (Length(TcxTextEdit(Sender.Controller.EditingController.Edit).SelText) = 0)
  then
  begin
    GoForward := (Key = VK_RIGHT);
    Key := 0;
//    TcxCustomDropDownEditAccess(Sender.Controller.EditingController.Edit).CloseUp(crEnter);
    Sender.Controller.FocusNextCell(GoForward, True, False);
 
  end;
end;
 
Пользуйтесь )))

Всего записей: 106 | Зарегистр. 06-06-2007 | Отправлено: 13:45 16-02-2008 | Исправлено: DShtorm, 17:17 16-02-2008
TarasX



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

Цитата:
Вопрос по сохранению закладок датаконтроллера. Мне нужно переоткрыть набор данных. Подскажите, как правильно сохранить и восстановить позицию курсора TcxGridDBTableView?

Это не поможет?
http://www.devexpress.com/kbA2279
 
 

Всего записей: 13 | Зарегистр. 21-04-2006 | Отправлено: 15:39 16-02-2008
X11



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

Всего записей: 3260 | Зарегистр. 24-11-2005 | Отправлено: 23:33 16-02-2008
DShtorm

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Хотел узнать  
как можно в поля грида передавать в RunTime  
различные виды редакторов с настройками  
 
Нашел такую тему как Repository , только как им пользоваться
еще не разобрался  
 
+ чтобы выглядело типа ФормаСоздать ( Поле1 , поле2 )
 
а поле1 типа как record  со всеми настройками ;
 
Подумал должно быть чего-то такого  
 
ФормаСоздать ( Наш репозитарий.профиль Х ) )))
и желательно чтобы репозитарий можно было в Дизайнере покрутить  
 
 

Всего записей: 106 | Зарегистр. 06-06-2007 | Отправлено: 13:43 17-02-2008 | Исправлено: DShtorm, 14:10 17-02-2008
TarasX



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

Цитата:
Хотел узнать  
как можно в поля грида передавать в RunTime  
различные виды редакторов с настройками  

Если я правильно понял - наверное, копать надо в сторону обработки сообщения OnGetContentStyle для View или ячейки грида. В нём присваиваешь стиль исходя из своих настроек.

Всего записей: 13 | Зарегистр. 21-04-2006 | Отправлено: 19:35 17-02-2008
RostY



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

Всего записей: 387 | Зарегистр. 11-01-2006 | Отправлено: 09:48 18-02-2008 | Исправлено: RostY, 10:24 18-02-2008
DShtorm

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

Цитата:
Если я правильно понял - наверное, копать надо в сторону обработки сообщения OnGetContentStyle для View или ячейки грида. В нём присваиваешь стиль исходя из своих настроек.

 
Тут другой момент создаю Run Time обычный грид  
с обычными Editami  
 
а мне хочется чтобы в какой-то строке выпадал LookupCombobox
и вот надо заменить Edit  LookupCombobox ))
 
получается есть Repository  
в нем можно насоздовать заготовок столбцов с настройками  
и в гриде подменять Edit нашими заготовками ..
 
В общем такая метода ...

Всего записей: 106 | Зарегистр. 06-06-2007 | Отправлено: 14:23 18-02-2008
   

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru