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

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

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

ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884  Версия для печати • ПодписатьсяДобавить в закладки
Страницы: 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

   

golkanavt



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

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




 
Сами прирученные компоненты частенько приходят на водопой сюда
 
DLL со скинами из библиотеки dxSkins, автор Ziltoid Подробнее... линк обновлен
Продолжение, Первая часть, вторая часть

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 10:31 07-02-2009 | Исправлено: vladman, 14:36 24-10-2009
OwnerZ

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Повтор
 
ExportDetailGridToFile('C:\Test', 1, cxGrid,
  cxGridDBTableView, True, True, True, '', '', '', 'xls'); - Значит если ставить параметр AExportType равным 1 то экспортирует только 1й уровень на русском языке все ок стили и все прочее есть.  
 
AExportType равным 2 то экспортирует все уровни но на китайском стили и все прочее есть.  
 
Добавлено:
volser
 
vladman

 
Не думаю что это внутренние настройки. Хотя щас пойду попробую на висте экспортнуть
 
Добавлено:
Очень улыбнуло на другом компьютере экпортнуло на арабском языке причем я так понимаю где то текст переводится потому что не квадратики были а именно арабские буквы.  
 
Добавлено:
я вот думаю  
 
он же в процедуре создает  
 
AGridExport := GetExportClassByDetailGridView(AGridView).Create(AFileName, AExportType, AGridView, AGrid, nil);
 
Может тут?

Всего записей: 30 | Зарегистр. 20-10-2009 | Отправлено: 11:33 28-10-2009
JohnSilver182



BANNED
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Думал как при потери фокуса формой , убрать ее dxDockPanel-s
Набросал процедуру  и вижу все компоненты кроме dxFloatDockSite и  dxDockPanel

Код:
Procedure HideFloat(a_Form:TCustomForm);
var i:integer;
begin
for i:=0 to a_Form.ControlCount-1  do
begin
  Form1.ListBox1.Items.Add(a_Form.Controls[i].Name);
end;
end;
 

Всего записей: 829 | Зарегистр. 03-06-2009 | Отправлено: 15:23 28-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Произвожу изменения в базе, а потом обновляю датасет. Необходимо, что бы плюсики (группировка по 3м полям) открылись до самого нижнего уровня. Почему-то получается только до предпоследнего
 
Делаю так:
rowid :=-1;
  while true do
   begin
     OraQuery2.Locate('mainid',row,[]);
     ARecord := cxGridDBTableView1.Controller.FocusedRecord;
     if Assigned(ARecord) then ARecord.Expanded := true;
     if rowid <> cxGridDBTableView1.Controller.FocusedRowIndex
     then rowid := cxGridDBTableView1.Controller.FocusedRowIndex
     else break;
   end;

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 16:03 28-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
SIgor33
cxGrid1DBTableView1.DataController.Groups.FullExpand;

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 17:05 28-10-2009
vladman

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

Цитата:
Набросал процедуру  и вижу все компоненты кроме dxFloatDockSite и  dxDockPanel  

Все верно, только вместо ControlCount и Controls[i] используйте ComponentCount и Components[i]

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 18:17 28-10-2009
SIgor33

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
volser
Спасибо Вам Огоромное. Вы дали за два дня кучу полезного для размышления и не только в этой ветке

Всего записей: 652 | Зарегистр. 03-03-2009 | Отправлено: 09:26 29-10-2009
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
подскажите плз...можно ли как то обращаться к данным GridBandedTableView1..напрмир по имени колонки?...ибо GridBandedTableView1.DataController.GetValue уж очень неудобное так как при удалении колонки меняются и номера колонок...у меня сейчас документы в разработке и каждый раз менять это геморно и небезопастно

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 15:48 29-10-2009
data man



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
TableView.FindItemByName(const AName: string) и TableView.GetColumnByFieldName(const AFieldName: string) подойдут ?

----------
Любой достаточно развитый тролль неотличим от подлинно помешанного на какой-либо идее.
Кекс. Антибиотики. Ламбада.

Всего записей: 1696 | Зарегистр. 13-10-2005 | Отправлено: 16:09 29-10-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
mdid
для получения значения (например выделеной строки) используем

Код:
 
<YourTableView>.DataController.Values[<YourTableView>.DataController.FocusedRecordIndex, <YourColumnName>.Index]
 

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 16:24 29-10-2009 | Исправлено: f3ka, 16:25 29-10-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Доброго всем времени суток!
 
Натолкнулся на неожиданную проблему. Есть датасет, к нему привязан cxGrid. Редактировать в гриде можно только одно поле (Column.Editing=True).
 
Мне необходимо обработать BeforePost событие для грида. Но тут вылезла неожиданная проблема - ложное срабатывание.
В гриде первая колонка - это столбец CheckBox, не привязанный к данным. Его тоже можно редактировать.
И когда пользователь "отмечает" запись, а потом с неё уходит, срабатывает BeforePost.
Не знаю, как отфильтровать эти ложные срабатывания.
Помогите!
 

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 17:06 29-10-2009 | Исправлено: brookson, 17:08 29-10-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
Сохраняйте старое значение и сравнивайте с новым. Также у поля есть NewValue и OldValue.

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 17:18 29-10-2009
brookson



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

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 17:56 29-10-2009
mdid

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
data man
пасиб попробую
f3ka
та это я вкурсе...но у меня просто динамическое добавление элементов..так они вроде не выделяются

Всего записей: 1298 | Зарегистр. 13-02-2006 | Отправлено: 18:52 29-10-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Возникла опять проблема с переводом True и False (в гриде есть 2 колонки типа cxCheckBox), грид ни к чему не привязан.  Выполняю экспорт из cxGrid средствами самой библиотеки. В результат вместо Да/Нет попадает True или False соответственно.
в ini файл есть:

Цитата:
cxSEditCheckBoxChecked="Да"
cxSEditCheckBoxUnchecked="Нет"
cxSTextTrue="Да"
cxSTextFalse="Нет"
scxBoolTrue="Да"
sdxTrue="Да"
scxBoolFalse="Нет"
sdxFalse="Нет"
scxFalse="Нет"
scxTrue="Да"
 

 
Но этого, видать мало.  
И ещё. Подскажите, а на сколько трудно найти константу или переменную в исходниках Dev, что бы самому добавить её в ini файл для перевода?

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 12:18 03-11-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
думаю что можно попробовать поискать в модулях экспорта строки типа "True" или "False"

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 12:38 03-11-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Всё, что связано с %True% или %False% - переведено
http://ipicture.ru/uploads/091103/ZzmMohRWVW.png
 
С %check% тоже переведено. Разработчики скорее всего что-то забыли.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 14:21 03-11-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
я имел ввиду что не в resourcestrings поменять, а в исходниках (возможно только в исходниках экспорта грида) найти строки "True" или "False" (именно строки, а не значения)

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 14:43 03-11-2009
X11



Silver Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Искал, нету там. Я даже принудительно в значениях колонки Прописал ValueType: string и значение Да/Нет. Бесполезно.
 
Добавлено:
Я забыл сказать, что речь про unbound cxGrid
 
Добавлено:
И в выпадающем фильтре тоже нерусские значения: True/False.
 
Добавлено:

Цитата:
Я забыл сказать, что речь про unbound cxGrid  

Вот у меня есть грид, привязанный к датасету - там и в фильтре русские Да/Нет, и в экспортнутом файле.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 15:08 03-11-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
X11
ситуация такая значит... посмотрев исходники нашел что в модуле cxStorage.pas есть процедура

Код:
 
procedure BooleanVariantToStringVariant(var AValue: Variant);
  begin
    if VarType(AValue) = varBoolean then
    begin
      if AValue then
        AValue := 'True'
      else
        AValue := 'False';
    end;
  end;
 

возможно она как то влияет...
и еще есть в модуле cxFilter.pas
такая функция

Код:
 
function TcxFilterCriteria.ConvertBoolToStr(const AValue: Variant): string;
const
  BoolStrs: array[Boolean] of string = ('False', 'True');
begin
{$IFNDEF DELPHI6}
  Result := BoolStrs[AValue = True];
{$ELSE}
  Result := VarToStr(AValue);
{$ENDIF}
end;
 

больше вроде ничего подходящего не находил

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 15:34 03-11-2009
X11



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

Цитата:
X11
ситуация такая значит... посмотрев исходники нашел что в модуле cxStorage.pas есть процедура  

Исправил. Захотел перекомпилировать пакеты
cxLibraryD11.dpk
dclcxLibraryD11.dpk
из папки \ExpressLibrary\Packages
 
...куча ошибок
 
Добавлено:
Например:
---------------------------
cxLibraryD11 - CodeGear RAD Studio for Microsoft Windows - ProjectGroup1.groupproj
---------------------------
Can't load package C:\Program Files\Developer Express Inc\Library\Delphi11\dxPscxTLLnkD11.bpl.
 
Не найден указанный модуль.
----------------------------------------------------
 
 
 
---------------------------
cxLibraryD11 - CodeGear RAD Studio for Microsoft Windows - ProjectGroup1.groupproj [Loading dxPScxVGridLnkD11.bpl]: bds.exe - Не удалось найти компонент
---------------------------
Приложению не удалось запуститься, поскольку dxPScxCommonD11.bpl не был найден. Повторная установка приложения может исправить эту проблему.  
---------------------------
 
 
 
---------------------------
cxLibraryD11 - CodeGear RAD Studio for Microsoft Windows - ProjectGroup1.groupproj
---------------------------
Can't load package C:\Program Files\Developer Express Inc\Library\Delphi11\dxPScxGrid6LnkD11.bpl.
 
Не найден указанный модуль.
---------------------------
 
 
 
---------------------------
bds.exe - Не удалось найти компонент
---------------------------
Приложению не удалось запуститься, поскольку dxPSLnksD11.bpl не был найден. Повторная установка приложения может исправить эту проблему.  
---------------------------
 
 
Добавлено:
Точнее сказать, что ошибки валятся после компиляции. Т.е. компиляция проходит нормально.
 
Перезагрузил IDE, перекомпилировал свою программу. К сожалению проблема осталась. Ну ладно. Будет время - попробую поставить dev45 (последнюю сборку с инсталлом feandy).
Посмотрим.

----------
/не мы такие, жизнь такая/

Всего записей: 3253 | Зарегистр. 24-11-2005 | Отправлено: 16:53 03-11-2009
   

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

Компьютерный форум Ru.Board » Компьютеры » Прикладное программирование » Использование DevExpress (часть 3)
ShIvADeSt (31-12-2009 04:49): Продолжаем тут http://forum.ru-board.com/topic.cgi?forum=33&topic=10884


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

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru