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

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

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Есть два уровня tvMAINFOODRECEIVE  -  главный и– детальный.
С помощью tvMAINFOODRECEIVE .Controller.FocusedRow возвращаю активную запись, причем для главной вазвращает все нормально а tvMAIN.Controller.FocusedRow постноянно nil.  
Что  сделать что бы tvMAIN.Controller.FocusedRow возвращала активную дочернюю запись
 
 
Добавлено:
PaulNBir
Ты парав. Я в тот день видно уставший был

Всего записей: 325 | Зарегистр. 23-10-2003 | Отправлено: 14:47 10-03-2005
PaulNBir

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimonXP
опиши поподробнее что делаешь. где ловишь FocusedRow?
как я понял tvMAIN - мастер, а tvMAINFOODRECEIVE - детальный тейблвью?

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 19:57 10-03-2005 | Исправлено: PaulNBir, 19:59 10-03-2005
DimonXP

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PaulNBir
Не наоборот.  
tvMAINFOODRECEIVE - Мастер
tvMAIN - Детайл
 
Опредлеюя фокус по ButtonClick
Этот код возвращает нормальный результат
  If tvMAINFOODRECEIVE.Controller.FocusedRow <> nil then
    ShowMessage(IntToStr(tvMAINFOODRECEIVE.Controller.FocusedRow.Values[0]));
 
А это всегда NIL
  If tvMAIN.Controller.FocusedRow <> nil then
    ShowMessage(IntToStr(tvMAIN.Controller.FocusedRow.Values[0]));

Всего записей: 325 | Зарегистр. 23-10-2003 | Отправлено: 08:37 11-03-2005
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
DimonXP
 
При работе для DetailView создаются клоны и обращаться надо  
именно к клону:
 
TcxGridDBTableView(cxGrid1.FocusedView).Controller.FocusedRow ....  
Это для случая, когда тип View = TcxGridDBTableView.

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

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

Всего записей: 325 | Зарегистр. 23-10-2003 | Отправлено: 10:04 11-03-2005
N3Slash



Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь сталкивался с проблемой в TcxScheduler/TcxSchedulerStorage -- пытаюсь обрабатывать события об изменении Event'ов, а они приходят как-то странно:
1. при изменении Event'а с помощью двойного клика по нему и формы, при подтверждении изменений дважды(!) срабатывает событие TcxSchedulerStorage.OnEventModified и ни одного TcxScheduler.OnAfterEditing
2. при двойном клике на Event иногда срабатывает TcxScheduler.OnBeforeDrag или TcxScheduler.OnBeforeSizing
может это недостатки данной версии, никто не знает? я пользуюсь ExpressScheduler 1.1.1

Всего записей: 1 | Зарегистр. 17-03-2005 | Отправлено: 09:10 17-03-2005
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
N3Slash
попробуй 1.1.2, там вроде такого не наблюдается, хотя я сейчас не очень плотно с шедулером работаю

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 11:02 17-03-2005
golkanavt



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

Код:
 
procedure TfmYourForm.YourViewDataControllerSummaryAfterSummary(
  ASender: TcxDataSummary);
var
  AChildDataGroupsCount: Integer;
  AChildDataGroupIndex, AParentDataGroupIndex: TcxDataGroupIndex;
  AChildPosition: Integer;
begin
  //iterate through data groups at the level 0
  AParentDataGroupIndex := -1;
  with ASender.DataController do
  begin
    AChildDataGroupsCount := Groups.ChildCount[AParentDataGroupIndex];
    for AChildPosition := 0 to AChildDataGroupsCount - 1 do
    begin
      AChildDataGroupIndex := Groups.ChildDataGroupIndex[AParentDataGroupIndex, AChildPosition];
      if AChildDataGroupIndex > 0 then
      Summary.GroupSummaryDisplayValues[AChildDataGroupIndex, 0, 0] :=
        Summary.GroupSummaryDisplayValues[AChildDataGroupIndex, 0, 0] +
        Summary.GroupSummaryDisplayValues[AChildDataGroupIndex - 1, 0, 0];
    end;
  end;
end;
 

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 12:38 18-03-2005
aincube



Newbie
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Уважаемые, подскажите идиоту как установить Девки из сырцов. А то до этого у меня были установщики, а тут скачал архив из варезника (не фендивский, а тот, который VentoR выкладывал), а там всё в исходниках. Спасибо.
 
update: Спасибо всем, что никто не ответил (наверное слишком идиотский вопрос), ну да ладно. Собственно методом тыка я сам нашел последовательность в которой компилить %)

Всего записей: 12 | Зарегистр. 22-12-2001 | Отправлено: 16:26 18-03-2005 | Исправлено: aincube, 12:12 21-03-2005
vladiros



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые! Можно ли (и как, если можно) - настроить грид (GridView) так, чтобы при добавлении новой записи автоматически устанавливалось значение ключевого поля? Сделать такое заполнение вручную - несложно, а вот чтоб автоматически?
Спасибо!

Всего записей: 205 | Зарегистр. 14-03-2005 | Отправлено: 19:34 18-03-2005
EZH



Advanced Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
vladiros
Так это ведь должно решаться не свойствами гриды, а другими способами:
- автоинкрементными полями сервера
- триггерами на стороне сервера
- компонентами доступа к БД
- самописными событиями типа BeforeInsert

Всего записей: 1738 | Зарегистр. 02-09-2004 | Отправлено: 21:11 18-03-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вопросец, может кто подскажет чего не так - не выходит экспорт из Грида в че-нить другое.
И включил как указано:
#include "cxExport.hpp"
#include "cxExportGrid4Link.hpp
И ExportGrid4ToExcel("test.xls", cxGrid1, true, true, false, "xls");
 - компилиться без ошибок, а в рез-те работать все равно не хочет(что в xls, что в txt и т.п) - "Unsupporded export type".
 
Best regards

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 18:06 28-03-2005
PaulNBir

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

Цитата:
   
if SaveDialog.Execute then
    ExportGrid4ToExcel (SaveDialog.FileName,cxGrid)
 

на декабрьском релизе все отлично

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 11:51 29-03-2005
Darl

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
PaulNBir
 
Да прикол в том еще что аналогичные действия на Dev TreeListe срабатывают без ошибок, а вот с гридом - не хочет. Та же самая беда и в мартовском гриде. А где или в чем(или ком) глюк не пойму..
 
Best regards

Всего записей: 140 | Зарегистр. 10-07-2002 | Отправлено: 18:41 30-03-2005
PaulNBir

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Darl
сравнил декабрьскую и мартовскую версии cxExportGrid4Link.pas для D7 (билдеровских исходников нет, к сожалению), вроде кроме добавления в мартовской блоков {$IFDEF CHARTVIEW} больше ни чего не изменилось

Всего записей: 61 | Зарегистр. 02-09-2003 | Отправлено: 12:26 31-03-2005
Alex1978

Member
Редактировать | Профиль | Сообщение | ICQ | Цитировать | Сообщить модератору
Так было удобно, ввел дату в cxDBDateEdit 01.01 и дальше, при выходе год текущий атоматом ставиться, теперь же "Неверная дата"

Всего записей: 306 | Зарегистр. 27-02-2003 | Отправлено: 16:00 31-03-2005
brjasha

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Привет. У меня проблема с HotTrack-ом от контролов. Есть форма, на ней штук 20 контролов лежит. Форма создаётся один раз, а при закрытии просто делается невидимой. После нескольких таких закрытий с контролами случается вот что: когда проводишь над ними мышкой - появляется подсветка, но когда мышка с контрола уходит - подсветка не исчезает. Кто-нибудь знает, как побороть?

Всего записей: 1 | Зарегистр. 01-04-2005 | Отправлено: 13:38 01-04-2005
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Alex1978
 
Может вам поможет это  
http://216.101.185.148/scripts/isapi.dll/article?id=2580214D&article=5282067
Сам я не пробовал. Ниже идут цитаты:
Вопрос:  Do you know if it's possible to enter only day+month and cxDateEdit  
              fills in the current year ?
 
Ответ:    He can type any of the following:
7
7/6
7 6
7_6
7_6_4
 
Код для этого:
-------------------------------------
OnValidate Event
 
  DisplayValue := DateToStr(GetInputDate(EditText));
  Error:=False;
-------------------------------------
And here is the GetInputDate function..
 
type
  TDateType = (dtDDMMYYYY, dtYYYYMMDD);
 
function GetInputDate(Input: String): TDate;
var date: TDateTime;
  Year, Month, tmpMonth, Day: Word;
  sYear, sMonth, sDay: string;
 
   function BreakbyPos(var aLine: String; CutPos: integer): String;
      begin
        if CutPos>0 then
        begin
          Result:=copy(aLine,1,CutPos);
          System.delete(aLine,1,CutPos);
        end else
        begin
          result:=aLine;
          aLine:='';
        end;
      end;
      function CompleteYear(year: word): word;
      begin
        Result := 0;
        case year of
          0..99: Result := year + 1900;
          100..999: Result := year + 1000;
          1000..9999: Result := year;
        end;
        if Result < 1930 then Result := Result + 100;
      end;
   function getMonthMaxDay(month: word): word;
      begin
        Result:=0;
        case month of
          1,3,5,7,8,10,12: Result:=31;
          4,6,9,11: Result:=30;
          2: Result:=27;
        end;
      end;
   function GetIntFromStr(var aLine: string; MaxDigit: integer; IsDate:
                  boolean): string;
      var i: integer;
        tmp: string;
        plus: boolean;
        Year, Month, Day: Word;
      begin
        Result := EmptyStr;
        plus := false;
        tmp := BreakbyPos(aLine, 1);
        while not IsValidInt(tmp) and (tmp<>EmptyStr) do
        begin
          if tmp = '+' then plus := true;
          tmp := BreakbyPos(aLine, 1);
        end;
        i:=0;
        while IsValidInt(tmp) do
        begin
          inc(i);
          Result := Result + tmp;
          if i >= MaxDigit then break;
          tmp := BreakbyPos(aLine, 1);
        end;
        if IsDate and plus then
        begin
          i := StrToInt(Result);
          DecodeDate(now, Year, Month, Day);
          Day := Day + i;
          if Day > getMonthMaxDay(Month) then
            Day := getMonthMaxDay(Month);
          Result := IntToStr(Day);
        end;
      end;
begin
  case FDateType of
    dtDDMMYYYY:
      begin
        sDay := GetIntFromStr(input, 2, true);
        sMonth := GetIntFromStr(input, 2, false);
        sYear := GetIntFromStr(input, 4, false);
      end;
    dtYYYYMMDD:
      begin
        sYear := GetIntFromStr(input, 4, false);
        sMonth := GetIntFromStr(input, 2, false);
        sDay := GetIntFromStr(input, 2, true);
      end;
  end;
  DecodeDate(now, Year, Month, Day);
  tmpMonth := Month;
  if sYear <> EmptyStr then Year := StrToInt(sYear);
  if sMonth <> EmptyStr then Month := StrToInt(sMonth);
  if Month > 12 then Month := tmpMonth;
  if sDay <> EmptyStr then Day := StrToInt(sDay);
  Year := CompleteYear(Year);
 
  result := 0;
  if TryEncodeDate(Year, Month, Day, date) then
    result := date;
end;
 
 
Добавлено:
aincube
 
DevExpress рекомендует такой порядок:
 
If you decide to rebuild the ExpressQuantumGrid packages,  
please recompile them in the following order:  
XP Theme manager:  
  dxThemeD{C}X.dpk  
CX Library:  
  cxLibraryVCLD{C}X.dpk  
  dclcxLibraryVCLD{C}X.dpk  
ExpressDataController:  
  cxDataD{C}X.dpk  
  cxBDEAdaptersD{C}X.dpk  
  cxADOAdaptersD{C}X.dpk  
  cxIBXAdaptersD{C}X.dpk  
ExpressEditors Library:  
  cxEditorsVCLD{C}X.dpk  
  cxExtEditorsVCLD{C}X.dpk  
  dclcxEditorsVCLD{C}X.dpk  
  dclcxExtEditorsVCLD{C}X.dpk  
ExpressQuantumGrid  
  cxExportVCLD{C}X.dpk  
  cxGridVCLD{C}X.dpk  
  dclcxGridVCLD{C}X.dpk  
Но я думаю будет проще использовать bat файлы feandy...

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 13:51 01-04-2005
golkanavt



Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brjasha
это похоже бага в последних версиях вылезла, у меня иногда подобное проявляется, опытным путем установил что лечится постоянной установкой нужных стилей, на свойство HotTrack едиты внимания не обращают вообще

Всего записей: 1069 | Зарегистр. 08-04-2002 | Отправлено: 12:06 02-04-2005
klod_new

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Подскажите, пожал.
1. Как добиться, чтобы cxGrid (4.5.2) пропускал на форму нажатие Tab (т.е. оно ловилось на onKeyPress формы). Проблема не в форме, со всяким KeyPreview и т.д. все нормально. Рядом с Гридом лежат контролы - форма ловит нажатие клавиш в них.  
2. cxGrid.Focused  той же версии всегда False. По любому: разных машинах, Delphi и т.д.. Что за глюк и как бороться?

Всего записей: 73 | Зарегистр. 23-01-2005 | Отправлено: 17:05 03-04-2005 | Исправлено: klod_new, 17:06 03-04-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