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

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

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Спасибо, korobovmax!
 
SmartRefresh - помог. После изменения записи он обновляет не всю таблицу, а только одну запись. Конечно, тогда не видно изменения сделанные другими пользователями в других строках, но зато не тормозит.
 
С подключением к базе тоже вроде разобрался. Наверное я просто где-то, какое-то свойство непарвильно задал (скорей всего в гриде), что у меня до этого глючило. Решил не искать, что неправильно сделал, а заново создал форму и компаненты со значениями по умолчанию - и все заработало нормально!

Всего записей: 6 | Зарегистр. 27-01-2006 | Отправлено: 22:03 04-02-2006 | Исправлено: Arjuna, 22:04 04-02-2006
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Старый вопрос плюс два новых:
1. Есть тоже вопрос по дереву (TcxDBVirtualTreeList). Оно, естественно, не умеет хранить "развёрнутость" своих нодов. Следовательно, надо хранить в таблице.
А вот в каком событии можно одновременно получить очередной нод и запись в таблице, чтобы "загрузить" "развёрнутость"?
2. TcxDBVirtualTreeList вполне сносно работает в Drag-and-Drop-режиме dmAutomatic, за исключением одного - мне надо запретить драгить некоторые ноды. Как это сделать.
3. Есть 2 таблицы (Master-Detail), к первой привязано дерево(TcxDBVirtualTreeList), ко второй грид(TcxGridDBTableView). Практически всё получается, но вот только ода задачка - когда перенеситься запись из одного раздела в другой, в моём варианте просто создаётся копия перетаскиваемой записи. Но тогда встаёт естественый вопрос - а как удалять ту запись, которая осталась до перетаскивания? Просто узнать её ID и руками удалить не получится, ведь у первой таблице (которая Master, и к которой, что важно, привязано дерево) изменится текущий "раздел", а значит все записи Detail-таблицы вне этого раздела будут недоступны. Вот в чём вопрос.
 
Добавлено:
Второй вопрос решён

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 00:36 05-02-2006
fr00m

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korobovmax
На 1: В нужном месте делаешь обход всего дерева и сохраняешь свойство expanded у ноды:
 
Var n: TcxTreeListNode;
begin
  n := Tree.TopNode;
  while Assigned(n) do
  begin
    // Сохраняем n.Expanded. Видимо, понадобится ID записи, который тоже можно вытянуть из n
    n := Tree.GetNext;
  end;
end;

Всего записей: 26 | Зарегистр. 28-10-2002 | Отправлено: 11:55 06-02-2006
Adp

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
На http://www.devexpress.com/Support/BestPractices/.NET/Localization/ в параграфе Creating Satellite Resource Assemblies есть такая фраза  
 
Цитата:
you can freely download them here. The download includes resources translated to the following languages:  
Chinese, Czech, Danish, Dutch, French, German, Italian, Japanese, Norwegian, Portuguese, Russian, Slovenian, Spanish, Vietnamese.  
 
 
Что то я никак не найду где этот here, с которого можно скачать.
 
Кто нибудь знает где можно скачать руссифицированные Assemblie для devexpress .net 2005?
Или скажите как вы руссифицируете девэкспресс. Ручками править ресурсы неохота, наверняка это уже проделано 100 раз.

Всего записей: 28 | Зарегистр. 29-06-2004 | Отправлено: 15:34 07-02-2006
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
fr00m, большое спасибо. Я на все три вопроса нашёл ответы. И тут же появился новый вопрос
 
Можно ли столбцы Грида с Properties = "TextEdit" или что угодно, лиж бы не "Memo" (и "RichEdit" ), научить не врапить слова (wordwrap)?
Нет никакого желания изменять Properties у всех текстовых полей на "Memo" из-за такой мелочи

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 18:03 07-02-2006
gpi

Alone Wanderer
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korobovmax
Попробуй cxGrid1DBTableView1.OptionsView.CellAutoHeight=False

Всего записей: 432 | Зарегистр. 30-05-2004 | Отправлено: 19:12 07-02-2006
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Ах, ну, конечно! Как я мог быть так глуп?!
 
gpi, прелесть! Оно самое!
 
----------
 
Да... С ру-бордом не пропадёшь.
 
Добавлено:
Если кому интересно, я сейчас решил задачку:
В панельки фильтра по-умолчанию даже если мы переводили строки cxFilterConsts.pas, в независимости от перевода, условия, которые нельзя отобразить знаками, пишутся на английском (LIKE, OR и т.д.). Как это исправить и писать условия на русском? DevExpress'овцы подумали о нас
После небольших напрягов выяснилось, что достаточно включить опцию фильтра fcoShowOperatorDescription (GridView.DataController.Filter.Options := GridView.DataController.Filter.Options + [fcoShowOperatorDescription]) и тогда в панельки фильтра будут писаться условия из констант, определённых в cxFilterConsts.pas, а не из нижеприведённой функции и ей подобных:
function TcxFilterLikeOperator.FilterText: string;
begin
  Result := 'LIKE';
end;
 

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 19:38 07-02-2006 | Исправлено: korobovmax, 00:21 08-02-2006
kii

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет Всем!
   Это проблема моя или глюк DevEx...
в cxGrid1DBBandedTableView с источником dxMemData, при фильтрации по полю с CheckBox , если Сhecked - true -- все нормально, а фильтрация по Сhecked - false  
-- выводит продублированные записи (вместо 1 -2 , вместо 5 - 10 и т.д.)
QGrid 5.12 или 5.13 - одинаково.

Всего записей: 137 | Зарегистр. 11-02-2004 | Отправлено: 14:28 10-02-2006
GENEMI

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Как сделать чтобы TcxTreeList подстраивался под поля?
 
т.е. нужно чтобы TcxTreeList скрывал свой background (чтобы отображались только поля).
 
т.е. чтобы высота TcxTreeList была равна высоте всех его полей
 
т.е. нужно чтобы не занятая область просто отрезалась.
 
т.е. когда в Run-Time в TcxTreeList добавляется новое поле то чтобы размеры TcxTreeList подстраивались под высоту и ширину всех узлов.
 
Т.е. нужно чтобы никогда не было видно пустоты в TcxTreeList - а видны были только узлы т.е. поля.
 
 Как это можно сделать?
 
 
 - Это как TcxTreeListOptionsView.ColumnAutoWidth - только наоборот.

Всего записей: 5 | Зарегистр. 03-02-2006 | Отправлено: 03:41 11-02-2006
SuperBtr

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

Цитата:
Если кому интересно, я сейчас решил задачку:  
В панельки фильтра по-умолчанию даже если мы переводили строки cxFilterConsts.pas, в независимости от перевода, условия, которые нельзя отобразить знаками, пишутся на английском (LIKE, OR и т.д.). Как это исправить и писать условия на русском?  

 а также
Цитата:
Что то я никак не найду где этот here, с которого можно скачать.  

в принципе решаеться очень просто, т.е. сделать туже русификацию, не знаю как у вас а у меня Експресс скачан с исходниками, для русификации Грида и Принтинг система надо изменить файлы cxEditConsts.pas cxFilterConsts.pas cxGridStrs.pas dxPSRes.pas, и потом перекомпилировать бпл-ки в которых они используються.
 
Зато хочеться задать ламерский вопрос, как можно cxDBTreeList экспортировать в Excel, и пердусмотренно ли это?

Всего записей: 6 | Зарегистр. 12-02-2006 | Отправлено: 21:25 12-02-2006
korobovmax



Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
SuperBtr, насчёт моего вопроса: ваш вариант широко известен и врятли кто-то делает по-другому. Однако вы не поняли сути вопроса - перечитайте рядом с "даже если мы переводили строки cxFilterConsts.pas".
О вопросе Adp почитайте рядом с "Ручками править ресурсы неохота".
 
Наконец, насчёт вашего вопроса: это предусмотрено, содержимое cxDBTreeList можно экспортировать в Excel. В файле (у вас же есть исходники ) cxExportTL4Link.pas определена процедура cxExportTL4ToExcel - используйте её и хелп.

Всего записей: 276 | Зарегистр. 23-01-2005 | Отправлено: 21:49 12-02-2006
SuperBtr

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
korobovmax
Полностью с вами согласен, ЗАТУПИЛ
Сам конечно искал как это перевести смотрел http://www.devexpress.com/Support/BestPractices/.NET/Localization/
 
here - тоже не нашел , было бы проще еслиб работал поиск, а так перечитать весь форум не располагаю временем, увы, хотя форум интересный, вот подписался буду за ним теперь следить
 
За подсказку на счет Экспорта СПАСИБО!

Всего записей: 6 | Зарегистр. 12-02-2006 | Отправлено: 22:00 12-02-2006
DeepTown

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Adp
А вариант перевода констант без правки сурсов в cxEditConsts.pas не подойдет?
Переопределять прямо в тексте. Може это и не сказывается положительно на размере exe'файла, но я перевожу например только то что мне нужно...
 
cxSetResourceString(&_cxSDatePopupClear,"Очистить");  // "Clear"
cxSetResourceString(&_cxSDatePopupToday,"Сегодня");  // "Today"
cxSetResourceString(&_cxSDateError,"Неверная дата");   // "Invalid Date"
...
 
это касательно VCL, как в .NET не знаю, може также?

Всего записей: 78 | Зарегистр. 30-05-2002 | Отправлено: 02:47 13-02-2006
VoodooSV

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Можно ли как-то узнать в QuantumGrid'е текстовое значение столбца, по которому я группировал, если выделена одна из строк данных грида (не строка группировки). Причем столбец по которому я групирую яаляется ExtLookupComboBox, т.е. на самом деле в столбце по ID подставляется текстовое значение столбца из другой вьюшки.
 
Заранее спасибо, если кто-нибудь откликнется!

Всего записей: 456 | Зарегистр. 04-02-2005 | Отправлено: 14:04 14-02-2006
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoodooSV
Ну, например так (GroupCol - имя колонки по которой производится группировка):
procedure TForm8.Button1Click(Sender: TObject);
begin
  Caption := GroupCol.DataBinding.Field.Value;
end;
 

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 19:50 14-02-2006
VoodooSV

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xokc
С помощью GroupCol.DataBinding.Field.Value я получаю значение поля БД, а мне нужно получить тестовое значение, которое отображается в этом столбце при условии, что этот столбец ExtLookupComboBox, т.е. фактически отображается Lookup-значение поля из другой вьюшки

Всего записей: 456 | Зарегистр. 04-02-2005 | Отправлено: 09:39 15-02-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
VoodooSV
 
Попробуйте так:
 
var
Column: TcxGridDBColumn;
ColumnIndex: Integer;
RecordIndex: Integer;
Text: String;
 
begin
.....
 Column := TcxGridDBTableView(cxGrid1.FocusedView).
                                 GetColumnByFieldName('ИмяВашегоПоля');
 ColumnIndex := Column.Index;
 RecordIndex := TcxGridDBTableView(cxGrid1.FocusedView).
                                    DataController.FocusedRecordIndex;
 Text := TcxGridDBTableView(cxGrid1.FocusedView).DataController.
                                 GetDisplayText (RecordIndex,ColumnIndex);
......

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

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex47
Супер!!!
Огромное тебе спасибо, уже не впервый раз выручаешь!!!



Всего записей: 456 | Зарегистр. 04-02-2005 | Отправлено: 11:44 15-02-2006
powertodead

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подксажите, как в QuantumGrid'е в колонке получить значение суммы двух других колонок для каждой записи соответтсвенно (сами эти колонки являются LookupComboBox'ами). Что-то наполобии Calulated поля в DataSet'e

Всего записей: 4 | Зарегистр. 26-03-2005 | Отправлено: 15:13 15-02-2006
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
powertodead
1. Добавить нужную колонку, не связанную с полями в БД
2. Добавить обработчик OnGetDisplayText
 
procedure TForm8.CalcColGetDisplayText(Sender: TcxCustomGridTableItem; ARecord: TcxCustomGridRecord; var AText: string);
begin
  AText := ARecord.Values[Col1.Index] + ARecord.Values[Col2.Index];
end;
 
где Col1 и  Col2 - имена суммируемых колонок

Всего записей: 477 | Зарегистр. 22-09-2002 | Отправлено: 19:29 15-02-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