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

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

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

Цитата:
Первичный ключ есть, в гриде он прописан в KeyFieldNames

Ну тогда нужен пример..

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 22:15 28-07-2009
afiget



Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson, и поле, указанное в KeyFieldNames действительно является ключевым?
И в датасет тоже указано правильное ключевое поле?
Тогда, +1 vladman: пример в студию.
 

Всего записей: 545 | Зарегистр. 31-12-2005 | Отправлено: 00:32 29-07-2009
volser

Advanced Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
brookson
При вставке записи в датасет ключевое поле заполняется?

Всего записей: 713 | Зарегистр. 31-03-2006 | Отправлено: 01:04 29-07-2009
Dart_Veider

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
народ, неужели никто не может помочь??? уже писал
"не могу поставить devexpress 45 на делфи 2009. пробовал ставить на двух машинах, на одной виста, на другой хр. не встают ни там, ни там. стоят апдейты на делфи 1 и 2. проблема в чем: установка вроде проходит, но не компилится. и при запуске делфи выдает ошибки что не найдены файлы bpl. искал их поиском в корневом диске - нет таких файлов. что делать не знаю. подскажите в чем траблы?"
, да так никто ничего путнего не ответил. давайте уже помогать ближнему своему )))

Всего записей: 19 | Зарегистр. 19-12-2008 | Отправлено: 05:33 29-07-2009
Funky Max

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

Цитата:
ASender: TcxDataSummaryItems укажет для какого TcxDataSummaryItems сработало событие

 
А из ASender можно как нибудь вытянуть index данного SummaryItem  
чтобы указать его в  
vAOutValue:= vAOutValue + <YourcxTreeList>.Nodes.Root.Items[i].Values[SUMMARY_ITEM_INDEX] ???

Всего записей: 9 | Зарегистр. 28-07-2009 | Отправлено: 07:12 29-07-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Я приведу пример, но как?
Есть таблица (IBTable), в ней ключевое поле (генератор, триггер). Оно заполняется, т.е. после Post смотрю в базу - есть. И это поле указано ключевым в гриде. Ошибиться нельзя, оно выбирается из списка полей таблицы.
Настройки вьюхи в основном по умолчанию, только некоторые OptionsBehavior изменены.
Скажите, какие значение, я приведу.

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



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

Цитата:
но не компилится.

значит попробуй ручками откомпилить

Всего записей: 1604 | Зарегистр. 01-03-2004 | Отправлено: 10:56 29-07-2009
Dart_Veider

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

Цитата:
Dart_Veider  
 
Цитата:
но не компилится.
 
значит попробуй ручками откомпилить  

 
пробовал, выдает ошибки, типа такой
 
Package c:\Documents and Settings\All Users\Документы\Rad Studio\6.0\Bpl\dxGDIPlusD12.bpl can't be installed because it is not a design time package.

Всего записей: 19 | Зарегистр. 19-12-2008 | Отправлено: 11:04 29-07-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dart_Veider
ну дык по русски же написано что это not design time package (значит runtime package) и значит что его инсталлить НЕ НАДО... ему надо сказать только compile... для того чтоб все заработало надо сначала все runtime packages скомпилить а потом все design time package скомпилить и заинсталлить...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 11:16 29-07-2009
Dart_Veider

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

Цитата:
ну дык по русски же написано что это not design time package (значит runtime package) и значит что его инсталлить НЕ НАДО... ему надо сказать только compile... для того чтоб все заработало надо сначала все runtime packages скомпилить а потом все design time package скомпилить и заинсталлить...  

 
а не проясните чем runtime packages отличаются от design time package, и как их отличить? и еще вопрос: в какой последовательности все это ставить?

Всего записей: 19 | Зарегистр. 19-12-2008 | Отправлено: 12:38 29-07-2009
vladman

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

Цитата:
А из ASender можно как нибудь вытянуть index данного SummaryItem

Можно конечно: ASender.Items[<YourSummaryIndex>]

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:03 29-07-2009
f3ka

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Dart_Veider
грубо говоря, runtime packages содержат сам функционал, а design time packages то как это будет отображаться этот функционал. отличаются чаще всего приписками типа dcl, vcl для design packages. а вот в какой последовательности (именно пакеты по зависимостям) это ставить это я не знаю...

Всего записей: 497 | Зарегистр. 02-03-2007 | Отправлено: 13:05 29-07-2009
Funky Max

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

Цитата:
Можно конечно: ASender.Items[<YourSummaryIndex>]

 
не не, мне как раз и надо узнать индекс с которым сейчас работает событие onSummary, что бы дальше его передать в нужное место)

Всего записей: 9 | Зарегистр. 28-07-2009 | Отправлено: 13:06 29-07-2009
vladman

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

Цитата:
в какой последовательности все это ставить?

А в каком виде у вас
Цитата:
devexpress 45
. Архив с исходными файлами и пакетами или инсталлятор?
 
Добавлено:
Funky Max

Цитата:
мне как раз и надо узнать индекс с которым сейчас работает событие onSummary,

Ясно. Если я правильно понимаю, у вас 4-ая версия TreeList. Какую конкретно задачу вы хотите решить?
 
Добавлено:
brookson

Цитата:
Я приведу пример, но как?  

Сделать маленькое приложение состоящее из одной формы и грида отображающего проблему. Конечно, и БД нужна с этой таблицей (или часть БД), чтобы быть уверенным что проблема не в БД.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 13:07 29-07-2009
Funky Max

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
 
ТриЛист 2 уровня, дочерний и родительский. По дефолту ТриЛист суммирует в футер все что находится в конкретной колонке, т.е. и детей и родителей. Мне же надо суммировать только значения записей 0го родительского уровня, что бы 1й дочерний уровень в сумме не учитывался... вот так. При этом полей очень много и пользователь их может менять местами по своему усмотрению.
                             П1        П2       П3   ....
Родитель 1             25       ...         ...
Родитель 2             17
    Потомок 1           10
    Потомок 2           7
Родитель3              15
 
СУММА                   57
 

Всего записей: 9 | Зарегистр. 28-07-2009 | Отправлено: 13:16 29-07-2009 | Исправлено: Funky Max, 13:29 29-07-2009
vladman

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

Цитата:
ТриЛист 2 уровня, дочерний и родительский

У меня установлен TreeList v.5. В нем совсем другой обработчик onSummary. Так что проверить не могу. Но когда-то решал эту проблему следующим образом:
 

Код:
procedure <YourForm>.<YourcxDBTreeList>Summary(ASender: TcxDataSummaryItems;
  Arguments: TcxSummaryEventArguments;
  var OutArguments: TcxSummaryEventOutArguments);
begin
 if ASender.DataController.Values[Arguments.RecordIndex,
      <YourcxDBTreeList>.ColumnByName('<YourPARENT_IDColumnName>').ItemIndex] <> 0 then
   OutArguments.Done:=True;
end;

 
К сведению, в TreeList v.5. появилась такая возможность как: TcxTreeListSummaryItem.AllNodes - For footer summaries, set the AllNodes property to True, to include all nodes in the calculation base. Otherwise, only root level nodes are included. Т.е. при значении этого свойства False - в саммари включаются значения только корневого уровня.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:00 29-07-2009 | Исправлено: vladman, 14:03 29-07-2009
Funky Max

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
чет не прокатывает(((( может как то через aSender  вылезти на Node  и узнать если HasParent == true то не считать...

Всего записей: 9 | Зарегистр. 28-07-2009 | Отправлено: 14:19 29-07-2009 | Исправлено: Funky Max, 14:39 29-07-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Вот  пример - small.rar
База bb.fdb там же. Всё лишнее убрал, не работает всё равно.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 14:43 29-07-2009
vladman

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

Цитата:
чет не прокатывает

Может Parent_ID для корневых значений у вас равно не 0, а -1, например, проверьте.

Цитата:
мне б просот индекс колонки вытащить к которой текущий summary просчитывается

В обработчике onSummary есть Arguments: TcxSummaryEventArguments.
Опять же проверить не могу, попробуйте так:
if TcxTreeListColumn(Arguments.SummaryItem.ItemLink) = <YourColumn>
 
Добавлено:
brookson

Цитата:
Вот  пример

вот, то что и следовало доказать:
 
procedure TF_mca.ADMNewRecord(DataSet: TDataSet);
begin
  adm.FieldByName('admin_id').AsInteger:=0;
end;
 
Грид же до рефреша ничего не знает о сработавшем генераторе на стороне сервера и подменившем ваш 0 на верное (следующее) значение.

Всего записей: 708 | Зарегистр. 13-11-2002 | Отправлено: 14:58 29-07-2009
brookson



Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vladman
Получается, что событие Post (нажатие кнопки) надо вылавливать, и делать вручную рефреш?
 
Я говорил о еще двух гридах, в которых нормально вставляется. Посмотрел: в одном и правда после post делается Close/Open. В другом такого нет - но работает.

Всего записей: 139 | Зарегистр. 06-09-2007 | Отправлено: 15:52 29-07-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