MSFLEXGRID

JONCARLOS 09/04/2012 10:54:02
#399356
Olá amigos...

Gostraria de saber se alguém sabe como preencher uma imagem em uma coluna (coluna 0 p/exemplo) da mesma forma que usamos o
comando .GetString...sem percorrer todas as rows do flex...

Exemplo:
1-Aqui preencho o flex com o .Getstring...método bem rápido...

.ROW = 1
.Col = 1
.RowSel = .Rows - 1
.ColSel = .Cols - 1
Tabela.MoveFirst
.Clip = Tabela.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)

2-Só que aqui só consegui fazer percorrendo todas a rows do flex...

For i = 0 To .Rows - 1
.ROW = i
.Col = 0
Set .CellPicture = ImageList1.ListImages(marcado + 1).Picture
.CellPictureAlignment = 4
Next

Pergunto se tem um meio de fazer isso ...sem percorrer uma a uma as rows...


Abraço...
J.Carlos



KERPLUNK 09/04/2012 10:57:16
#399357
Entenda que GetString, é um método que como o próprio nome dele diz, busca STRING, logo, qualquer tipo de dados que não seja string, não será trazido por esse método...
JONCARLOS 10/04/2012 10:52:58
#399436
Bom...consegui fazer...fica de exemplo:

With Flexgrid
.Redraw=false
.FillStyle = flexFillRepeat
.Col = 0
.ColSel = 0
.RowSel = .Rows - 1
Set .CellPicture = ImageList1.ListImages(marcado + 1).Picture
.CellPictureAlignment = 4
.Col = 0
.ROW = 0
.FillStyle = flexFillSingle
.Redraw=true
End With



Com essa simples mudança numa tabela com 10.000 registros....consegui reduzir o tempo de carregamento do Flex de 14 segs...para 2 a 3 segs...

Uma mudança radical...convenhamos

Obrigado Kerplunk...e a todos...





MARCELO.TREZE 10/04/2012 11:17:33
#399438
ou seja Redraw = False, e Redraw = True, fizeram a diferença.

Boa sorte, encerre o tópico por favor.

Tópico encerrado , respostas não são mais permitidas