Clipper On Line • Ver Tópico - Grid redefinição automática do tamanho das colunas

Grid redefinição automática do tamanho das colunas

Projeto MiniGui - Biblioteca visual para Harbour/xHarbour

Moderador: Moderadores

 

Grid redefinição automática do tamanho das colunas

Mensagempor microvolution » 22 Mar 2016 23:08

Pessoal, boa noite!
Resolvi abrir este tópico pois não encontrei algo semelhante.
Alguém sabe como fazer com que as colunas de um GRID tenham seus tamanhos ajustados automaticamente em relação ao tamanho dos campos e/ou título (cabeçalhos) das colunas?
Este é parte do nosso código atual:
FUNCTION grid_data_widths()
LOCAL awidths := {}

   awidths := { 130, 280, 30, 30, 30, 30,  100, 100, 150, 150, 100, 150, 100, 100, 100  }

RETURN awidths

Valeu!
PS: Outra coisa, se não for congestionar o fórum... (caso contrário, Toledo/moderador(es), por favor, leve para o devido lugar, ou exclua, ou tome as providências que convier necessárias!)
1 - Tô percebendo que o GRID tá muito lento, alguém sabe como resolver?
2 - Como ocultar ou não usar alguns campos do arquivo que são desnecessários?
3 - Como não permitir a alteração dos campos? pois se é pra consulta apenas como antigo BROWSE (clipper) que é apenas consultivo.
4 - Como substituir o set filter (se é que ele está incluso no meu GRID por uma coisa mais rápida)?
5 - Ao usar a barra de rolagem (horizontal), as informações somem;
6 - Como transferir o que foi consultado para o formulário anterior?
7 - Como usar a funçao de criação do GRID para ser usado por outras pesquisas/arquivos, como a gente fazia com o BROWSE?
Mais uma vez obrigado pelo fórum existir, pois mais 80% do que tenho aprendido ou CTRL+C/V foi retirado daqui!!!
Grato,
MICROVOLUTION - 16 anos Evoluindo Com Você!


Você já leu a Bíblia hoje?
João 3:16 - Porque Deus amou ao mundo de tal maneira que deu seu Único Filho para que todo aquele que nEle crê não pereça mas tenha a Vida Eterna!
microvolution
Usuário Nível 5

Usuário Nível 5
 
Mensagens: 1175
Data de registro: 02 Set 2011 22:17
Curtiu: 59 vezes
Mens.Curtidas: 17 vezes

Grid redefinição automática do tamanho das colunas

Mensagempor Toledo » 24 Mar 2016 09:09

microvolution escreveu:Alguém sabe como fazer com que as colunas de um GRID tenham seus tamanhos ajustados automaticamente em relação ao tamanho dos campos e/ou título (cabeçalhos) das colunas?

Amigo, praticamente é uma questão de matemática, mas o primeiro a fazer é como saber o tamanho do campo e do título?

Bom, do título é fácil, é só usar a função LEN() em cada elemento da matriz que tem os títulos da GRID. O problema será o tamanho do campo.
Ou você usa o DbStruct() que mostra o tamanho do campo, ou cria um uma matriz com o tamanho dos campos, por exemplo:
aTamCmps:={6,40,40,15,7,etc}

Agora qual dos dois (campo ou título) é o maior... função MAX() ajuda, por exemplo:
nTamanho:=MAX(aTamCmps[1],LEN(aheaders[1]))*9

O *9 no código acima é para ajustar o tamanho em pixel. Este valor (9) pode ser alterado ao seu gosto, caso o ajuste tenha sido demais ou pouco.

Bom, isto é só uma ideia do que você pode fazer.

Sua outras dúvidas, o melhor a fazer é consultar o manual da HMG... para GRID veja C:\hmg.3.4.2\DOC\data\Grid.htm

microvolution escreveu:2 - Como ocultar ou não usar alguns campos do arquivo que são desnecessários?

Amigo, você determina em COLUMNFIELDS os campos que serão apresentados na GRID. Você pode colocar (ou não) os campos que quer.

microvolution escreveu:3 - Como não permitir a alteração dos campos?

No manual acima da GRID tem uma propriedade chamada ALLOWEDIT, veja C:\hmg.3.4.2\DOC\data\allowedit.htm

As demais dúvidas vai depender do código que você montou para fazer a GRID, então fica difícil dar um exemplo.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Grid redefinição automática do tamanho das colunas

Mensagempor Claudio Soto » 24 Mar 2016 12:32

En HMG existe:

<ParentWindowName>.<GridControlName>.ColumnWIDTH( nColIndex ) := [ nColumnWidth ] | [ GRID_WIDTH_AUTOSIZE ] |
[ GRID_WIDTH_AUTOSIZEHEADER ]
Saludos.
Dr. Claudio Soto
(Uruguay)
http://srvet.blogspot.com
Avatar de usuário

Claudio Soto
Colaborador

Colaborador
 
Mensagens: 555
Data de registro: 27 Ago 2012 12:31
Cidade/Estado: Uruguay
Curtiu: 35 vezes
Mens.Curtidas: 166 vezes

Grid redefinição automática do tamanho das colunas

Mensagempor Toledo » 24 Mar 2016 12:43

Por isto que é importante ler o manual (DOC) da HMG. Lá no manual da GRID tem estas informações que o Dr Claudio Soto passou na mensagem dele.

Abraços,
Toledo - Clipper On Line
toledo@pctoledo.com.br
Harbour 3.2/MiniGui/HwGui
Faça uma doação para o fórum, clique neste link: http://www.pctoledo.com.br/doacao
Avatar de usuário

Toledo
Administrador

Administrador
 
Mensagens: 3038
Data de registro: 22 Jul 2003 18:39
Cidade/Estado: Araçatuba - SP
Curtiu: 263 vezes
Mens.Curtidas: 258 vezes

Grid redefinição automática do tamanho das colunas

Mensagempor susviela@bol.com.br » 04 Dez 2018 18:31

Pode ser útil se alguém vier pesquisar.

        //  ajuste automático das colunas da Grid

   For i := 1 to ( Main.grid_1.ColumnCOUNT )

      Main.grid_1.ColumnWIDTH( i ) := GRID_WIDTH_AUTOSIZE

   NEXT i
   


Deixa o desenho da grid um pouco lenta.
.
.
"E quando você perder o controle, colherá o que plantou."
=========================================
Carlos Alberto Nunes #Susviela
Site: https://www.PowerInformatica.com.br
=========================================
Blog xBase: https://programandoxbase.wordpress.com/
Blog TI: https://susviela.wordpress.com

( #ProgramandoxBase #AllxBase )
Avatar de usuário

susviela@bol.com.br
Usuário Nível 3

Usuário Nível 3
 
Mensagens: 236
Data de registro: 30 Jun 2017 11:17
Cidade/Estado: São José / SC
Curtiu: 153 vezes
Mens.Curtidas: 24 vezes




Retornar para MiniGui

Quem está online

Usuários vendo este fórum: Nenhum usuário registrado online e 14 visitantes


Ola Amigo, espero que meu site e forum tem lhe beneficiado, com exemplos e dicas de programacao.
Entao divulgue o link da Doacao abaixo para seus amigos e redes sociais ou faça uma doacao para o site forum...
MUITO OBRIGADO PELA SUA DOACAO!
Faça uma doação para o forum
cron
v
Olá visitante, seja bem-vindo ao Fórum Clipper On Line!
Efetue o seu login ou faça o seu Registro