Ir para conteúdo

POWERED BY:

Arquivado

Este tópico foi arquivado e está fechado para novas respostas.

Rodrigo Defende

Problemas na MSHFlexGrid

Recommended Posts

Pessoal como eu faco para fazer o seguinte:

 

Tenho um TextBox e uma MSHFlexgrid ligada a um banco via ADO

 

E gostaria de no text ir digitando e a grid ir atualizando a busca sempre mostrando o registro encontrado como primeiro da lista. Tem jeito??

 

Valeu. http://forum.imasters.com.br/public/style_emoticons/default/joia.gif

Compartilhar este post


Link para o post
Compartilhar em outros sites

Como você faz para ligar a flesxgrid ao DAO?E idéia seria no evento change do textbox, atualizar a instrução sql que carrega a flexgrid.

Compartilhar este post


Link para o post
Compartilhar em outros sites

Ateh ai tudo o lance do evento do textbox. o que eu nao sei fazer eh deixar na grid o registro encontrado sempre na primeira linha e selecionado.

 

Tem alguma ideia???

 

Para ligar via ado eu vou preenchendo linha a linha - +/- assim:

 

   Sql = "Select * from produto Order By nome ASC"Set rsPdt = CreateObject("ADODB.Recordset")rsPdt.Source = Sql    Set rsPdt.ActiveConnection = Cn    rsPdt.OpenIf Not rsPdt.EOF Then    gridLista.Rows = rsPdt.RecordCount + 1    gridLista.Cols = 6            With gridLista                .Col = 0                .Row = 0                .CellFontBold = True                .Text = "Id"                .ColWidth(0) = 600                .CellAlignment = 4                                .Col = 1                .Row = 0                .CellFontBold = True                .Text = "Part Number"                .ColWidth(1) = 1300                .CellAlignment = 4                                .Col = 2                .Row = 0                .CellFontBold = True                .Text = "Código Interno"                .ColWidth(2) = 1200                                .Col = 3                .Row = 0                .CellFontBold = True                .Text = "Produto"                .ColWidth(3) = 4500                                .Col = 4                .Row = 0                .CellFontBold = True                .Text = "Lote"                .ColWidth(4) = 1500                                .Col = 5                .Row = 0                .CellFontBold = True                .Text = "Disponível"                .ColWidth(5) = 1000                            End With                        Do While Not rsPdt.EOF                With gridLista                    .Col = 0                    .Row = n                    .Text = rsPdt!idProduto                    .CellAlignment = 4                                        .Col = 1                    .Row = n                    .Text = rsPdt!partnumber                    .CellAlignment = 4                                        .Col = 2                    .Row = n                    .Text = Trim$(rsPdt!codigo)                    .CellAlignment = 0                                        .Col = 3                    .Row = n                    .CellAlignment = 0                    .Text = Trim$(rsPdt!Nome)                                                            .Col = 4                    .Row = n                    .Text = Trim$(rsPdt!lote)                    .CellAlignment = 0                                        .Col = 5                    .Row = n                    If rsPdt!Status = 1 Then                    .Text = "Sim"                    ElseIf rsPdt!Status = 0 Then                    .CellFontBold = True                    .CellForeColor = vbRed                    .Text = "Não"                    End If                End With            rsPdt.MoveNext            n = n + 1            LoopEnd if

Valeu

Compartilhar este post


Link para o post
Compartilhar em outros sites

Qdo você encontrar a linha correspondente é só jogar o número da linha na propriedade row que o foco irá para ela:

flex.row = xflex.col = 1

Compartilhar este post


Link para o post
Compartilhar em outros sites

×

Informação importante

Ao usar o fórum, você concorda com nossos Termos e condições.