Ru-Board.club
← Вернуться в раздел «Прикладное программирование»

» Использование DevExpress (часть 4)

Автор: mdid
Дата сообщения: 27.04.2013 11:21
блин..откатился на 2011.2.6, на новых девках приложение валится просто пипец((
у кого то есть проблемы с новой версией?
Автор: G787
Дата сообщения: 27.04.2013 13:39
mdid

У меня в новой версии бажил cxTreeView (в design time) периодически выдавая Out of memory, а потом слетали девы, после нескольких переустановок дев, решил от него отказаться, вроде пока всё нормально. Возможно есть и другие глючненькие компонентики.
Автор: Marcello_TLT
Дата сообщения: 27.04.2013 21:26
Использую cxPivotGrid для отображения аналитики по продажам. Есть столбцы: выручка, кол-во продаж, средний чек (выручка/продажи). Например:
1 день - выручка 100, продаж 8, чек 12.5
2 день - выручка 10, продаж 1, чек 10
Проблема из-за того, что чек подается уже посчитанным как результат запроса в БД. В результате чего при перегруппировке пивота чек за два дня получается равным 11.25 (SummaryType = stAverage), а должен быть (100+10)/9 = 12.22.

Возможно ли реализовать подсчет чека "налету"? Т.е. в поле "Чек" должен отображаться результат от деления выручки на число продаж для текущей строки, а не группироваться по правилам пивота.
Автор: LadyOfWood
Дата сообщения: 27.04.2013 23:22

Цитата:
Возможно ли реализовать подсчет чека "налету"?

SummaryType = stCustom
обработка события CalcFieldCalculateCustomSummary
Автор: X11
Дата сообщения: 27.04.2013 23:59
версия девок последняя из копилки, проблем особых не наблюдаю
Автор: Marcello_TLT
Дата сообщения: 28.04.2013 14:15
LadyOfWood
Спасибо, получилось. Сделал так:

Код: vFact := ASummary.Owner.GetSummaryByField(pi_fact, stSum);
vCount := ASummary.Owner.GetSummaryByField(pi_op_count, stSum);
ASummary.Custom := Null;
if vCount = 0 then exit;
ASummary.Custom := vFact / vCount;
Автор: VadimLou
Дата сообщения: 05.05.2013 14:26
DevExpress OLD Packages for XE3

To rebuild old projects, with outdated components DevExpress:

http://forum.ru-board.com/topic.cgi?forum=35&topic=47325&start=4740#lt

ps:
В архиве поправленные:
- cxCustomData.pas с возможностью событийного поиска в DataController (вперёд и назад).
- cxXLSExport.pas
Автор: mdid
Дата сообщения: 06.05.2013 03:17
нужен был компонент, который отображает только цифры, взял currencyedit. Но он, даже при UseThousandSeparator=false, все равно отделяет тысячи. Как вылечить?
Автор: makz
Дата сообщения: 06.05.2013 05:23
mdid
SpinEdit?
Автор: dimm78
Дата сообщения: 06.05.2013 09:09

Цитата:
нужен был компонент, который отображает только цифры, взял currencyedit. Но он, даже при UseThousandSeparator=false, все равно отделяет тысячи. Как вылечить?

Свойство DisplayFormat в Properties (просто убери запятые)
Автор: mdid
Дата сообщения: 06.05.2013 11:07
makz
та не хотелось перенагружать интерфейс лишними кнопками, форма и так большая
dimm78
спасибо, помогло. Вжизнь бы не догадался
Автор: MagistrAnatol
Дата сообщения: 07.05.2013 12:07
Народ помогите с GridViewRepository & ExtLookupComboBox - если в свойствах ExtLookupComboBox -KeyField
указать имя поля - выбирается только первая запись таблицы и курсор по таблице в попапе не перемещается, если его убрать - курсор перемещается но значение не выбирается?????
Наскольно я помню для девок критичен запрос
SELECT kur,bd_name,bd_reg FROM [master].[dbo].[nbd] order by kur,bd_reg

Отображать надо bd_reg, а ключевое kur
Автор: marser
Дата сообщения: 07.05.2013 14:08
MagistrAnatol
Девкам наплевать какой запрос. Они работают не с запросом, а с DataSet-ом. KeyField должен быть уникальным.
Автор: MagistrAnatol
Дата сообщения: 07.05.2013 15:06
marser
спасибо, уже сам допер что поле не уникально, хотя иногда в запросе в группировке надо первым выставлять ключевое поле
Автор: makz
Дата сообщения: 07.05.2013 15:46
mdid
Уже не важно конечно, но кнопки в спинэдите убираются.
Автор: reenoip
Дата сообщения: 13.05.2013 09:43
Так, с экспортом из cxGrid в Excel всё понятно. А что насчёт импорта xls/xlsx в cxGrid? Через cxSpreadSheet, или уже есть варианты загрузки файлов минуя посредника?
Автор: LadyOfWood
Дата сообщения: 13.05.2013 12:01

Цитата:
А что насчёт импорта xls/xlsx в cxGrid? Через cxSpreadSheet, или уже есть варианты загрузки файлов минуя посредника?

XLSX не поддерживается cxSpreadSheet и вряд ли будет, ибо не развивается.
Автор: reenoip
Дата сообщения: 13.05.2013 12:05
Ок, понял. Сузим запрос до кошерного "xls".
Автор: SevereK20
Дата сообщения: 15.05.2013 13:39
Подскажите, плиз. cxGrid с несколькими столбцами. В одном из столбцов имеется длинный текст, не умеющающийся в размер столбца. Можно ли сделать чтобы при наведении на данный столбец появлялось всплывающее окошко с полным текстом поля? Спасибо.
Автор: Cryogen2003
Дата сообщения: 15.05.2013 14:05
SevereK20
у bandView или tableView надо выбрать OptionBehavior.CellHints = true
Автор: SevereK20
Дата сообщения: 15.05.2013 14:13
Cryogen2003
Нашел этот пункт в TableView. По отдельности для каждого столбца разным это свойство сделать нельзя?
Автор: exteris
Дата сообщения: 15.05.2013 14:36
SevereK20
Гляньте у столбцов событие OnGetCellHint. В нем можно управлять хинтами.
Автор: SevereK20
Дата сообщения: 15.05.2013 14:45
exteris
Cryogen2003
благодарю, разобрался. все получилось.
Автор: G787
Дата сообщения: 17.05.2013 03:21

Использую cxGrid, заполняю грид таким макаром:

for i:= 0 to 30 do begin
Rec := cxGrid1BandedTableView1.DataController.AppendRecord;
cxGrid1BandedTableView1.DataController.SetValue(Rec, cxColumn1.Index, 'Value' );
cxGrid1BandedTableView1.DataController.SetValue(Rec, cxColumn2.Index, 'Value' );
Ну и ещё + 7 колонок.
end;

Очень медленный это спосооб может есть вариант канить пошустрее ?
Автор: exteris
Дата сообщения: 17.05.2013 08:29
cxGrid1BandedTableView1.BeginUpdate;
for i:= 0 to 30 do begin
Rec := cxGrid1BandedTableView1.DataController.AppendRecord;
cxGrid1BandedTableView1.DataController.SetValue(Rec, cxColumn1.Index, 'Value' );
cxGrid1BandedTableView1.DataController.SetValue(Rec, cxColumn2.Index, 'Value' );
end;
cxGrid1BandedTableView1.EndUpdate;

Хотя не понятно, что там на 30 записях может тормозить.
Автор: eddoc
Дата сообщения: 17.05.2013 13:20
exteris

Цитата:
Хотя не понятно, что там на 30 записях может тормозить.

Даже при отсутствии записей может лагать ощутимо, если не пользоваться спасительной begindate-endapdate beginupdate-endupdate. Я такое наблюдал, когда в цикле перерисовывал TitleButton - сам удивился

ps. надо же, в 2 словах наделал столько ошибок
Автор: G787
Дата сообщения: 17.05.2013 19:30
Спасибо, буду пробовать бегин-энд

Еще раз спасибо, помогло, теперь все делается мгновенно
Автор: neznayka3
Дата сообщения: 19.05.2013 21:08
как в TdxTabbedMDIManager при нажатии на кнопку закрытия таба скрыть форму? вариант с Action=caFree не подходит.
Автор: AlexCoRu
Дата сообщения: 20.05.2013 16:06
Кто-нибудь озадачивался переводом сабжа на XE4?

Проблема в том, что в XE3 (и ранее) было: function ActiveBuffer: TRecordBuffer; inline;
type TRecordBuffer = ^Byte;

В XE4 стало: function ActiveBuffer: TRecBuf; inline;
type TRecBuf = Integer;

Из-за этого получаем сообщения о несовместимости типов. Насколько корректно будет приведение TRecordBuffer(ActiveBuffer)? Тоже и для CalcBuffer.

Добавлено:
Пока копался, в справке наткнулся вот на что
Код: procedure GetCalcFields(Buffer: TRecBuf); overload; virtual;
procedure GetCalcFields(Buffer: TRecordBuffer); overload; virtual; deprecated 'Use overloaded method instead';
Автор: Neogar
Дата сообщения: 20.05.2013 16:30
AlexCoRu

{$IFDEF DELPHI18}PByte(ActiveBuffer){$ELSE}ActiveBuffer{$ENDIF};
Это для 2012.1.06

А еще так:
function GetFieldData(Field: TField; {$IFDEF DELPHI18}var {$ENDIF}Buffer: TValueBuffer): Boolean; override;
function GetFieldData(Field: TField; {$IFDEF DELPHI18}var {$ENDIF}Buffer: TValueBuffer; NativeFormat: Boolean): Boolean; override;

Страницы: 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211

Предыдущая тема: Помогите пожалуйста с блокировкой клавиатуры и мышки


Форум Ru-Board.club — поднят 15-09-2016 числа. Цель - сохранить наследие старого Ru-Board, истории становления российского интернета. Сделано для людей.