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

» Использование DevExpress

Автор: MServis
Дата сообщения: 08.12.2006 17:45
Юзаю Developer Express - Express QuantumGrid v4.5.2 (Delphi 7)

Господа помогите справиться с TcxDBPivotGrid !!!!!!!!!!!!!!!!

Каким образом можно выгрузить с нее данные в Excel, HTML или еще куда то ???
Так как работаю с этими компонентами недавно - как то они мне трудно даются ...
Ладно .. без полемики ...

ПРОБЛЕМА - НАДО ВЫГРУЗИТЬ ДАННЫЕ ИЗ cxDBPivotGrid в Excel !!!!!!!
ПОМОГИТЕ ПРИМЕРОМ "ЧАЙНИКУ"

Автор: drunk2
Дата сообщения: 08.12.2006 22:56
TdxNavBar. Нет свойства WordWarp. Как сделать надпись на пару строк?
если точнее: чтобы заголовок TdxNavBarItem не обрезался, а был многострочным ?
Автор: ArtemiyUO
Дата сообщения: 11.12.2006 14:52
Ребята а вы не в курсе? После релиза 6 грида будет ли обновлятся 5 грид? будут ли фиксится баги?
Автор: MServis
Дата сообщения: 11.12.2006 16:30
Такое чувство, что тут какждый пишет вопросы самому себе !!!
ПОМОГИТЕ С ЭКСПОРТОМ !!!
Автор: vshersh
Дата сообщения: 11.12.2006 16:51
MServis
А демки слабо самому глянуть?

для грида 4 юзай юнит cxExportGrid4Link, там есть процедуры ExportGrid4ToExcel, ExportGrid4ToText, ExportGrid4ToHTML...
В 5-ке и 6-ке думаю приблизительно также
Автор: MServis
Дата сообщения: 11.12.2006 17:34
vshersh

Про cxExportGrid4Link и ExportGrid4ToExcel .... я где то читал
Но вопрос то стоял в экспорте не cxGrid а cxDBPivotGrid - при таком раскладе
экспортировать что то не очень выходит

Incompatible types: 'TcxGrid' and 'TcxDBPivotGrid'

TcxDBPivotGrid - отличается ......

И к тати о демках - у меня их просто нет И нелпа тоже нет, приходиться разбираться в слепую. Если у Вас есть и то и другое, отошлите мне пожалуйста !!
Автор: svs123456789
Дата сообщения: 11.12.2006 17:34
MServis

Цитата:
правиться с TcxDBPivotGrid !!!!!!!!!!!!!!!!

Каким образом можно выгрузить с нее данные в Excel, HTML или еще куда то ???

извини НО в демках есть ПРИМЕР реализации cxPivotGridFeaturesDemo.exe
Автор: ArtemiyUO
Дата сообщения: 12.12.2006 06:55
А демки и хелп можно взять тут
http://forum.ru-board.com/topic.cgi?forum=35&topic=32815&start=680
Автор: MServis
Дата сообщения: 12.12.2006 10:10
Елки столько ответов и ничего дельного !!!
Я конечно не "Демон" в компонентах Quantum но на мой взгляд
TcxGrid и TcxDBPivotGrid сильно отличаются, если TcxGrid группирует только по строкам, то TcxDBPivotGrid группирует как по строкам, так и по колонкам.

Что меня лично смущает в ответах - это какая то не однозначность .... типа вот ссылка там все есть. Да ничего там подобного даже нет.
Почему не сказать по человечески !!!!
Используй такой то юнит, такую то функцию !!!
Один только vshersh нормально изъяснился "
cxExportGrid4Link, там есть процедуры ExportGrid4ToExcel, ExportGrid4ToText, ExportGrid4ToHTML"

Нужели так тяжело написать просто в двух словах ?????????????????????????
Автор: Dauren111
Дата сообщения: 12.12.2006 10:27
Как пометить отдельную ячейку например красным цветом,если значение этой колонки больше чем в другой.
Заранее спасиа.
Автор: jicoff
Дата сообщения: 12.12.2006 10:50
Dauren111

Используй событие OnCustomDrawCell
Автор: golkanavt
Дата сообщения: 12.12.2006 12:15
MServis
Спокойнее, не надо так кричать. Здесь все таки форум, а не чат, и ждать немедленного ответа на поставленный вопрос не стоит. Судя по всему, вы недавно на форуме, не мешало бы ознакомиться с местными правилами и традициями, прежде чем обвинять старожилов в бездействии и нежелании помочь. Здесь не служба поддержки, а клуб по интересам, если у кого-либо есть ответ на поставленный вопрос и время чтобы ответить - вам ответят, стоит только набраться терпения. Если же вам дают ссылку на какой-либо другой ресурс - будтье добры ознакомиться с его содержанием, вам здесь никто не обязан разжевывать каждую деталь ответа, от вас также ждут готовности и способности разобраться в проблеме и приложить к этому свои собственные усилия.
Автор: MServis
Дата сообщения: 12.12.2006 13:24
Я не жду немедленно ответа - а вот усилия конечно прилаживаю.
И слушать тоже умею, собственно как и разбираться ! И тем более не собираюсь
"обвинять старожилов в бездействии" - наоборот жду помощи !!!
Я думаю что вместо того что бы заниматься риторикой можно было вполне коротко ответить на вопрос ...

А теперь собственно сам же и отвечаю на свой вопрос.
ОТВЕТ ТАКОВ

Подключить юнит cxExportPivotGridLink

А дальше становятся доступными функции
cxExportPivotGridToText();
cxExportPivotGridToExcel();
cxExportPivotGridToXML();
cxExportPivotGridToFile();
cxExportInit();

Вот и весь ответ !!! Пример cxExportPivotGridToHTML('d:\00\exExp',SvodData,true);

Только даже найдя ответ, некие проблемы всеравно остаются.
почему то экспортируются только данные которые которые на экране находятся в области видимости.

КТО ТО ЗНАЕТ КАК РЕШИТЬ ДАННУЮ ПРОБЛЕМУ ???
Автор: Dauren111
Дата сообщения: 12.12.2006 13:48
icoff

Цитата:
Dauren111

Используй событие OnCustomDrawCell


а можно поподробнее
Автор: jicoff
Дата сообщения: 12.12.2006 15:08
Dauren111

С помощью DataController.GetEditValue(AnotherColumn.Index, evsValue) получаешь значение любой колонки, анализируешь его и назначаешь значениями:
ACanvas.Brush.Color = ...
ACanvas.Font.Assign(...)
ACanvas.Font.Color = ...
Автор: uranic2
Дата сообщения: 12.12.2006 15:40

Цитата:
Dauren111


Цитата:
а можно поподробнее


Один из примеров лежит здесь
"C:\Program Files\Developer Express Inc\ExpressQuantumGrid 5\Demos\Delphi\CustomDrawTableViewDemo\"
немного написано и в справке достаточно набрать onCustomDraw - неужели сложно было прочитать?

Автор: afiget
Дата сообщения: 12.12.2006 17:44
Dauren111
How to Conditionally Apply a Style to a Grid Cell Based on Its Value

https://devexpress.com/Support/Center/ViewKBIssue.aspx?kbid=A329
Автор: Pachkulia
Дата сообщения: 12.12.2006 21:05
Как сделать TcxTableView не только disabled, но и "серым"?
Автор: Xaoc666
Дата сообщения: 13.12.2006 11:02
Хочу просто поблагодарить всех, кто отвечает на вопросы и помогает страждущим. Ответы действительно дельные, конкретные и зачатую подробные. Честно говоря, это первый форум, где я действительно нашел решение некоторых проблем. Спасибо вам, господа!
Автор: sunduk4
Дата сообщения: 13.12.2006 11:48
Pachkulia

Соответствующий стиль настроить.
Автор: yuish
Дата сообщения: 13.12.2006 12:18
Как раскрасить ячейку в вертикал гриде при определенном значении. как делать в кугриде знаю и делаю, а для верикал грида демок не нашел (ссылка что была на демо тут на форуме выше с рапиды не доступна)
Автор: aurally
Дата сообщения: 13.12.2006 12:53
Кто-нибудь ставил успешно Scheduler под пятый Builder? Какие-то жуткие глюки при попытке положить его на форму
Автор: jicoff
Дата сообщения: 13.12.2006 15:08
yuish

Вот выдрал из примера, сам не разбирался, может чем-то поможет.

function TCustomDrawDemoMainForm.DrawCellItem(AItem: TcxItemCustomDrawInfo;
ACanvas: TcxCanvas; AValueInfo: TcxRowValueInfo; APainter: TcxvgPainter;
Sender: TObject): Boolean;
procedure OwnerDrawText(ALineColor: TColor; AFont: TFont);
var
ARect: TRect;
begin
ACanvas.Pen.Color := ALineColor;
ACanvas.Brush.Style := bsClear;
ACanvas.Font := AFont;
ARect := cxRectInflate(AValueInfo.BoundsRect, -1, 0, 0, -1);
with ARect do
     ACanvas.Canvas.Rectangle(Left, Top, Right, Bottom);
if AValueInfo.EditViewInfo is TcxCustomCheckBoxViewInfo then
with TcxCustomCheckBoxViewInfo(AValueInfo.EditViewInfo) do
AValueInfo.LookAndFeelPainterClass.DrawCheckButton(ACanvas,
cxRectOffset(CheckBoxRect, AValueInfo.BoundsRect.Left, AValueInfo.BoundsRect.Top),
cxbsDefault, State = cbsChecked)
else
if AValueInfo.EditViewInfo is TcxCustomTextEditViewInfo then
with TcxCustomTextEditViewInfo(AValueInfo.EditViewInfo) do
ACanvas.DrawTexT(Text, cxRectInflate(AValueInfo.BoundsRect, -2, -2), 0);
end;
var
AStyle: TcxStyle;
begin
TcxVerticalGrid(Sender).ViewInfo.LinesInfo.Clear;
AValueInfo.Transparent := (AValueInfo.ViewParams.Bitmap <> nil) and
(not AValueInfo.ViewParams.Bitmap.Empty);
if AItem.DrawingStyle = cdsDefaultDrawing then
begin
APainter.DrawRowValueCell(AValueInfo);
DrawCellsLines(ACanvas, TcxVerticalGrid(Sender).OptionsView.GridLineColor, AValueInfo.BoundsRect);
DrawRightLine(ACanvas, TcxVerticalGrid(Sender).OptionsView.GridLineColor, AValueInfo.BoundsRect);
Result := True;
Exit;
end;
if AItem.DrawingStyle = cdsDependsOnData then
begin
if cxDBVerticalGridCustomer.Properties.Values[AValueInfo.RecordIndex] = 'Y' then
AStyle := CustomDrawDemoDataDM.stCustomer
else
AStyle := CustomDrawDemoDataDM.stNoCustomer;
ACanvas.Brush.Color := AStyle.Color;
ACanvas.FillRect(AValueInfo.VisibleRect);
OwnerDrawText(AStyle.TextColor, AStyle.Font);
DrawCellsLines(ACanvas, TcxVerticalGrid(Sender).OptionsView.GridLineColor, AValueInfo.BoundsRect);
Result := True;
end
else
begin
Result := DrawItem(AItem, ACanvas, cxRectInflate(AValueInfo.BoundsRect, 0, 0, 1, 1) , Integer(AItem.ColorScheme) > 1);
if AItem.OwnerTextDraw then
OwnerDrawText(clGray, AItem.Font)
else
begin
AValueInfo.Transparent := True;
Result := False;
end;
end;
end;
Автор: yuish
Дата сообщения: 13.12.2006 15:20
jicoff
Спасибо. буду копать.
Автор: bodomus
Дата сообщения: 19.12.2006 06:34
У меня несвязанный грид с данными.
Надо прорисовать кнопки в ячейках у одной колонки.
В событии OnCustomDrawCell кнопки прорисовываются, но вот беда если скролю а потом возвращаю то к первоначальным кнопкам добавляются новые.
Я так понимаю надо для конкретной Record сохранять значение была ли сформирована для этой записи кнопка или нет, Как это проще реализовать ? Или я не туда копаю ?
Автор: uranic2
Дата сообщения: 19.12.2006 07:10

Цитата:
bodomus


Цитата:
У меня несвязанный грид с данными.
Надо прорисовать кнопки в ячейках у одной колонки.
В событии OnCustomDrawCell ....

Думаю не туда копаешь. Уж если нужны кнопки, то почему бы тебе, не сделать колонку типа TcxButtonEdit?

Можно конечено CustomDrawCell заставить рисовать то как тебе нужно, что ты там не так делаешь.
Автор: ArtemiyUO
Дата сообщения: 19.12.2006 08:11
Ребята, такой вопрос.
В 5 гриде я могу как то получить доступ к строке инкрементального поиска?
Т.е. мне бы хотелось отображать текущую строку инкрементального поиска.
Автор: bodomus
Дата сообщения: 19.12.2006 10:21
TO uranic2

Наверное я недообъяснил. Мне надо в этой колонке реализовать аналог ExtLookup, то есть при нажатии на кнопочку в ячейке у меня вызываются разные редакторы, для каждой строки свои.

Про репозитарий читал, пример видел, но надо без него.
Автор: uranic2
Дата сообщения: 19.12.2006 13:18
bodomus

Цитата:
Наверное я недообъяснил. Мне надо в этой колонке реализовать аналог ExtLookup, то есть при нажатии на кнопочку в ячейке у меня вызываются разные редакторы, для каждой строки свои.

Про репозитарий читал, пример видел, но надо без него.


Элементарно (либо я чег-то опять не понял). В дизайне создаем колонку, ставим ей пропертиес TcxButtonEdit. Пишем обработчик на этой колонке properties.onButtonClick, НАПРИМЕР для unbound table по нажатию кнопки выводит индекс строки, вот и напишешь свой:

procedure TForm1.cxGrid1TableView1Column1PropertiesButtonClick(
Sender: TObject; AButtonIndex: Integer);
begin
MessageDlg(IntToStr(cxGrid1TableView1.DataController.FocusedRecordIndex), mtWarning, [mbOK], 0);
end;

Вот если разные типы редакторов(Date,Mask, Lookup и т.п.) , в зависимости от строки то смотри демку ColumnsMultiEditorsDemo.
Автор: bodomus
Дата сообщения: 19.12.2006 16:00

Цитата:
uranic2


Гы... точно. Где то так я и хотел. Спасибо. Дальше разбирусь думаю.

Страницы: 12345678910111213141516171819202122232425262728293031323334353637383940414243444546474849505152535455565758596061626364656667

Предыдущая тема: Kylix


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