PDA

View Full Version : CJGridColumn com pbMultiLine True



Queiroz
14-May-2019, 10:03 AM
Olá,

Em uma coluna de uma CJGrid, tenho a propriedade pbMultiline true, mostrando mais de uma linha na mesma coluna.

Gostaria de, colocar uma unica linha em negrito.

Será que isto é possível?

Abraços

Samuel Pizarro
14-May-2019, 07:28 PM
Hum. Essa primeira linha em azul, eh da mesma celula da grid?
se sim, e se conseguiu deixar uma linha em cor diferente do resto , deve ter como tb deixar em negrito.

Como vc fez pra deixar em azul?

Renato.Antonacci
15-May-2019, 06:13 AM
Interessante Queiroz.

Também fiquei curioso sobre a primeira linha em Azul. Eu nunca fiz isso de colocar apenas parte da linha em negrito, mas se eu fosse pesquisar sobre o assunto, pensaria em algo como códigos escape no meio do código.

[]s

Queiroz
15-May-2019, 06:52 AM
Na verdade isto é de um outro sistema e eu acho que é um componente LIST.

Queiroz

Samuel Pizarro
15-May-2019, 09:07 AM
As grids codejock suportam xaml. Entao tem como fazer sim.

Mas nao vai ser so via proriedades. Vai dar um bom trabalho. Teve um post no forum q implementou xaml com umas coisas legais mas eu nunca usei. Pesquise no forum q talvez tenha la o inicio do caminho q vc deve tomar

Queiroz
15-May-2019, 12:02 PM
Valeu Samuel, vou pesquisar.

Tassi
16-May-2019, 10:54 AM
Olá. Talvez isso possa ajudar. Coloque essa procedure na coluna desejada (pbMultiLine deve ser TRUE). Isso irá formatar a primeira linha do texto (pode ser texto normal ou RTF). Se For RFT não vai mostrar formatado, pois a grid não aceita.
O Problema é que ainda não consegui tirar as linhas em branco que ficam no final. Se conseguir algo, por favor me avise.


Procedure OnSetDisplayMetrics Handle hoGridItemMetrics Integer iRow String ByRef sValue Handle hoRichEdit


String sTexto sPrimeiraLinha
Integer iPos

Move (Trim(sValue)) to sValue


Get Create (RefClass(cRichEdit)) to hoRichEdit // cria um Objeto RichEdit para formatar o texto
Set Size of hoRichEdit to 19 2000 // Tamanho da linha tem que ser grande
Set Visible_State of hoRichEdit to False
Send Page_Object of hoRichEdit True
Set Value of hoRichEdit to sValue
Send Select_All of hoRichEdit
Get SelText of hoRichEdit to sValue // Converte o campo para texto normal (sem formatação)
Get Line of hoRichEdit 0 to sPrimeiraLinha // Pega a primeira linha
Move (Replace(sPrimeiraLinha,sValue,"")) to sValue // Apaga o texto da primeira linha para não repetir
Send Page_Object of hoRichEdit False
Send Destroy of hoRichEdit

//-- Monta o Markup com o <TextBlock> mais info em: https://docs.microsoft.com/pt-br/dotnet/api/system.windows.controls.textblock?view=netframewor k-4.8

Move ('<StackPanel>') to sTexto
// Faz só a primeira linha
Move (sTexto + ("<TextBlock TextWrapping='Wrap' Background='AntiqueWhite' FontFamily='Century Gothic' FontSize='12'> <Bold>" + sPrimeiraLinha + "</Bold></TextBlock>")) to sTexto
// Faz o resto
Move (sTexto + ("<TextBlock TextWrapping='Wrap'>" + sValue + "</TextBlock>")) to sTexto


Move (sTexto + ('</StackPanel>')) to sTexto

Move sTexto to sValue


End_Procedure

Tassi
16-May-2019, 10:57 AM
Esqueci: Coloque no Oncreate da grid o seguinte comando:
Procedure OnCreate
Forward Send OnCreate

Set ComEnableMarkup to True // Para executar o Markup
End_Procedure

Queiroz
16-May-2019, 01:04 PM
Olá,

Nós conseguimos montar aqui, porém estou usando a cCJGrid com agrupamento ou seja a GroupedGrid, daí não funcionou.
Estamos pesquisando.

https://support.dataaccess.com/Forums/showthread.php?48813-cCJGrid-with-Grouping-and-Preview-Text&highlight=groupedgrid

Abraço,
Queiroz

Salvadori
16-May-2019, 01:55 PM
já notei que estão bem avançados quase na solução, caso não encontrar nada e for muito necessário eu buscaria alguma customização de css, mudando o style do objeto, colocaria algumas tags custom no negrito por ex o padrão do html <b> </b> e faria o novo estilo respeitar a tag