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

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

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

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 13:18 13-12-2006
aurally

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Кто-нибудь ставил успешно Scheduler под пятый Builder? Какие-то жуткие глюки при попытке положить его на форму

Всего записей: 72 | Зарегистр. 13-02-2006 | Отправлено: 13:53 13-12-2006
jicoff

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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;

Всего записей: 289 | Зарегистр. 03-03-2006 | Отправлено: 16:08 13-12-2006
yuish

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

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 16:20 13-12-2006
bodomus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
У меня несвязанный грид с данными.  
Надо прорисовать кнопки в ячейках у одной колонки.  
В событии OnCustomDrawCell кнопки прорисовываются, но вот беда если скролю а потом возвращаю то к первоначальным кнопкам добавляются новые.  
Я так понимаю надо для конкретной Record сохранять значение была ли сформирована для этой записи кнопка или нет, Как это проще реализовать ? Или я не туда копаю ?

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 07:34 19-12-2006
uranic2

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

Цитата:
bodomus


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

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

Всего записей: 297 | Зарегистр. 17-08-2004 | Отправлено: 08:10 19-12-2006
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята, такой вопрос.  
В 5 гриде я могу как то получить доступ к строке инкрементального поиска?
Т.е. мне бы хотелось отображать текущую строку инкрементального поиска.

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 09:11 19-12-2006
bodomus

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
TO uranic2
 
Наверное я недообъяснил. Мне надо в этой колонке реализовать аналог ExtLookup, то есть при нажатии на кнопочку в ячейке у меня вызываются разные редакторы, для каждой строки свои.  
 
Про репозитарий читал, пример видел, но надо без него.  

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 11:21 19-12-2006
uranic2

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
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.  

Всего записей: 297 | Зарегистр. 17-08-2004 | Отправлено: 14:18 19-12-2006
bodomus

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

Цитата:
uranic2

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

Всего записей: 121 | Зарегистр. 18-11-2005 | Отправлено: 17:00 19-12-2006
vai

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Ребята может кто сталкивался и поможет
 
В QuantiumGrid 6 для tcxGridDbChartView выполняю функцию StoreToStream сохранения View в поток :
        View.StoreToStream(St,[])
 
потом выполняю функцию RestoreFromStream восстановление из потока:
      View.RestoreFromStream( St,False,False,[])
 
ПРИ ВЫПОЛНЕНИИ RESTORE ПРОИСХОДИТ ОШИБКА
project AAA reised exception class EReadError with message 'Invalid property value'
 
ПО МОЕМУ ЭТО БАГ - если есть кто из зарегестрированных пользователей DevExpress
    может напишете разработчикам чтобі исправили в следующей версии

 
Кстати если использовать StoreToINI и RestoreFromINI то ошибка не возникает. СТРАННО
 
Очень жду помощи.
Спасибо заранее
   

Всего записей: 190 | Зарегистр. 07-09-2004 | Отправлено: 17:11 19-12-2006 | Исправлено: vai, 17:13 19-12-2006
xokc

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
vai
а с 5-м гридом такое нормально проходило?

Всего записей: 478 | Зарегистр. 22-09-2002 | Отправлено: 20:07 19-12-2006
Alex47



Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
 
TableView.Controller.IncSearchingText.

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 22:54 19-12-2006
gazgazgaz

Newbie
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Проблема с использованием cxDBPivotGrid мне нужно отобразить очень много информационных колонок (по которым не надо делать групировку просто отобразить) в RowArea можно ли это как-то сделать или хотяб скролить их как колонки с данными. Помогите пожалйста чайнику первый раз с этим гридом дело имею.

Всего записей: 1 | Зарегистр. 20-12-2006 | Отправлено: 10:02 20-12-2006
vai

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
xokc
 
Да в 5-м гриде все было ок
Да собственно и в 6-м тоже все ок для всех View кроме tcxGridChartView

Всего записей: 190 | Зарегистр. 07-09-2004 | Отправлено: 10:19 20-12-2006
ArtemiyUO

Full Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
Уважаемые подскажите пожалуйста, как оптимальнее и лучше всего заставить грид перерисовать записи.
Я в BandedViewStylesGetContentStyle
в зависимости от внутренних условий раскрашиваю грид. Хочу что бы при изменении этих условий тут же отображались изменения.
Щас обновляю через Grid.Invalidate(True);
 
Наверно есть более правильные методы.

Всего записей: 539 | Зарегистр. 12-12-2005 | Отправлено: 12:08 20-12-2006
yuish

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

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 12:40 20-12-2006
sunduk4

Junior Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
ArtemiyUO
a onCustomDrawCell не подходит?

Всего записей: 177 | Зарегистр. 03-04-2004 | Отправлено: 12:59 20-12-2006
yuish

Member
Редактировать | Профиль | Сообщение | Цитировать | Сообщить модератору
к предыдущему сообщению  
делаю  
 
procedure Tfrm_form.cxDBVerticalGrid1StylesGetContentStyle(Sender: TObject;
  AEditProp: TcxCustomEditorRowProperties; AFocused: Boolean;
  ARecordIndex: Integer; var AStyle: TcxStyle);
begin
 
 if cxDBVerticalGrid1FieldSum.Properties.Values[1]<0 then
    AStyle := dmode.redstyle
   else  AStyle := dmode.bluestyle;
 
end;
 
но в этом случае меняется цвет всех ячеек в гриде если хоть в одно мсумма меньше 0. а надо только в конкретной.

Всего записей: 218 | Зарегистр. 10-02-2003 | Отправлено: 13:28 20-12-2006
Alex47



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

Цитата:
Как раскрасить ячейку в вертикал гриде при определенном значении.

 
По этому поводу есть конкретный пример в Help (если значение ячейки > 300, то выводится красным цветом):
 
Подробнее...

Всего записей: 366 | Зарегистр. 20-03-2003 | Отправлено: 17:31 20-12-2006 | Исправлено: Alex47, 17:38 20-12-2006
   

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

BitCoin: 1NGG1chHtUvrtEqjeerQCKDMUi6S6CG4iC

Рейтинг.ru