Jump to content


Photo

Как при выборе строки в unimDBGrid поменять её цвет???

unimDBGrid

  • Please log in to reply
11 replies to this topic

#1 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 22 June 2018 - 09:02 AM

Добрый день.

 

Необходимо при выборе строк  в unimDBGrid выделять их другим цветом (менять цвет фона и текста).

На форуме по данному вопросу ничего не нашел.

 

Версия UniGUI: Complete Professional 1.10.0.1457

 

Спасибо.

 

 


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#2 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 22 June 2018 - 09:08 AM

Добрый день,

 

Этот пост может Вам помочь:

http://forums.unigui...lor/#entry35280


  • 0

#3 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 25 June 2018 - 06:54 AM

Спасибо!

Но это немного не то...

Мне необходимо что-бы при первом нажатии на строку цвет фона запоминался, а при повторном нажатии становился тем , который был по умолчанию.

Если в beforeInit прописываю config.itemCls = '_x-item-selected';  то все строки закрашиваются и

и никакого эффекта нет при выборе нужной строки:

 

function beforeInit(sender, config)
{
  var SelRowType = document.getElementsByName('LineChk')[0];
  if (SelRowType == "ДА"){
    config.itemCls = '_x-item-selected';
    } else {
    config.itemCls = '_x-item-unselected';
    }
}

 

74076045a44666ba7b732bd8a0a32693-full.pn


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#4 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 25 June 2018 - 07:07 AM

То-есть необходимо в зависимости от значения поля менять цвет всей строки.

Например:

Если значение = 0 , то использовать цвет установленный по умолчанию в unimDBGrid.

Если значение = 1 , то зеленый.

Если значение = 2 , то красный.


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#5 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 25 June 2018 - 07:12 AM

Добрый день,

 

Может этот пример Вам стоит посмотреть ?:

 

\FMSoft\Framework\uniGUI\Demos\Touch\DBGrid - DrawColumnCell


  • 0

#6 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 25 June 2018 - 07:38 AM

Добрый день,

 

Может этот пример Вам стоит посмотреть ?:

 

\FMSoft\Framework\uniGUI\Demos\Touch\DBGrid - DrawColumnCell

 

По данному пути в версии 1457 пример отсутствует (((

Я сначала просмотрел все примеры как для Desktop так и Touch, но ничего похожего там нет.

Мне это необходимо сделать в мобильной версии...


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#7 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 25 June 2018 - 07:40 AM

Вот здесь нашел вариант:

http://skirtlesden.com/articles/styling-extjs-grid-cells

  --> Styling Rows

Но как это переложить для использования в данной версии uniGUI под ExtJS 6.5


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#8 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 25 June 2018 - 08:07 AM

По данному пути в версии 1457 пример отсутствует (((
Я сначала просмотрел все примеры как для Desktop так и Touch, но ничего похожего там нет.
Мне это необходимо сделать в мобильной версии...


Попробуйте обновиться до последней версии...

http://forums.unigui...ge-2#entry55982
  • 0

#9 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 25 June 2018 - 09:09 AM

Спасибо!!!

Всё получилось!!!


  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471


#10 Ruslan

Ruslan

    Active Member

  • uniGUI Subscriber
  • PipPipPip
  • 58 posts

Posted 09 July 2018 - 09:02 PM

Спасибо!!!

Всё получилось!!!

 

можно пример как в итоге сделали?


  • 0

#11 Delphi Developer

Delphi Developer

    Advanced Member

  • Moderators
  • 5168 posts

Posted 10 July 2018 - 04:56 AM

Здравствуйте,

 

можно пример как в итоге сделали?

 

 

Может этот пример Вам стоит посмотреть ?:

 

\FMSoft\Framework\uniGUI\Demos\Touch\DBGrid - DrawColumnCell


  • 0

#12 Alexander Muromsky

Alexander Muromsky

    Member

  • uniGUI Subscriber
  • PipPip
  • 15 posts

Posted 10 July 2018 - 02:48 PM

Добрый день!

 

Конечно можно....

procedure TMyForm.UnimDBGrid1DrawColumnCell(Sender: TObject; ACol,
  ARow: Integer; Column: TunimDBGridColumn; Attribs: TUniCellAttribs);
begin

    if ds.FieldByName('AGE').AsInteger > 18 then
      Attribs.Color := $DFFFDF
    else  Attribs.Color := $DFDFFF;

    if ds.FieldByName('AGE').AsInteger = 25 then 
      Attribs.Font.Style := [fsBold]
    else  Attribs.Font.Style := [];

    if ((Column.FieldName = 'FIO') and (ds.FieldByName('FIO').AsString = 'Иванов Иван Иванович')) then
      Attribs.Font.Color := clRed; 
    
end;

  • 0

Windows 8

Delphi 2007

uniGUI Complete Professional 1.10.0.1471






Also tagged with one or more of these keywords: unimDBGrid

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users