USUÁRIO:      SENHA:        SALVAR LOGIN ?    Adicione o VBWEB na sua lista de favoritos   Fale conosco 

 

  Fórum

  Visual Basic
Voltar
Autor Assunto:  msflexgrid mensagem ao clicar em uma celula
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
Postada em 17/10/2005 13:18 hs            
Pessoal é possivel ao selecionar um celula no grid trazer em uma mesagem box valores de outro campo da tabela relacionado a esta celula ???
Segue codigo que uso para abastecer a grid:
On Error GoTo Trata_Erro
Me.MousePointer = 11
Set BancoDeDados = OpenDatabase(App.Path & "salao.MDB", False)
Set TBDados = BancoDeDados.OpenRecordset("select  Data,Usuario,sum (valor) from dados Where Data >= #" & Format(DataInicial, "mm/dd/yy") & "# and data<= #" & Format(DataFinal, "mm/dd/yy") & "# and Nome='" & NomeCliente.Text & "' group by Data,Usuario order by data desc")

If Not TBDados.EOF Then
    With MSFlexGrid1
        .Rows = 1
        .Cols = 4
        .ColWidth(0) = 0
        .ColWidth(1) = 1500
        .ColWidth(2) = 2500
        .ColWidth(3) = 1500
        .MergeCells = flexMergeFree
        .MergeCol(2) = True
        .TextMatrix(0, 0) = ""
        .TextMatrix(0, 1) = "Data"
        .TextMatrix(0, 2) = "Usuario"
        .TextMatrix(0, 3) = "Valor"
    End With
   
i = 1
Do While Not TBDados.EOF
    With MSFlexGrid1
        .Rows = i + 1
        .ColAlignment(0) = flexAlignCenterCenter ' alinha coluna
        .TextMatrix(i, 0) = i - 0 ' autonumeração colocar zero para poder começar com 1
        .ColAlignment(1) = flexAlignCenterCenter
        .TextMatrix(i, 1) = TBDados(0)
        .ColAlignment(2) = flexAlignCenterCenter
        .TextMatrix(i, 2) = TBDados(1)
        .ColAlignment(3) = flexAlignRightCenter
        .TextMatrix(i, 3) = Format(TBDados(2), "Currency")
        .Col = 3
        .Row = i
        .CellForeColor = vbRed
        .CellFontBold = True
    End With
   
i = i + 1
SomaColuna = SomaColuna + TBDados(2)
TBDados.MoveNext
Loop
' Textbox com o total da coluna
Saldo.Text = Format(SomaColuna, "currency")
End If
FlexCores &HFFFFFF, &HC0FFFF
Me.MousePointer = 0
Exit Sub
Trata_Erro:
MsgBox "Você  Selecionou DADOS INVÁLIDOS!!!!"

"O pior inimigo que você poderá encontrar será sempre você mesmo."
     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 17/10/2005 14:11 hs            
Que informação voce quer mostrar ao clicar na msflexgrid ?
 

dsmn
     
Donkey
Pontos: 2843 Pontos: 2843 Pontos: 2843 Pontos: 2843
PRESIDENTE PRUDENTE
SP - BRASIL
Postada em 17/10/2005 14:20 hs            
Coloque no evento click do flexgrid
 
msgbox flexgrid.textmatrix(flexgrid.row, flexgrid.col)
 
Vai mostrar o conteudo da celula clicada... T+
     
Geronimo
Pontos: 2843
JOINVILLE
SC - BRASIL
Postada em 17/10/2005 14:36 hs            
Daniel preciso mostrar os dados do campo comentario, este campo por ter muitas quebras de linha e em alguns casos não há comentarios deixaria o grid meio bagunçado então estou tentando mostrar esta informação ao selecionar a celula no grid, uma vez que estas informações são somente complementares.
Ellicristian
Neste seu caso tenho que mudar alguma propriedade no msflexgrid ??? estou so conseguindo pegar os dados da primeira coluna, neste caso tenho que criar um coluna oculta no grid ????
Seria esta a solução

"O pior inimigo que você poderá encontrar será sempre você mesmo."
     
Daniel
Pontos: 2843
SÃO PAULO
SP - BRASIL
Postada em 17/10/2005 14:58 hs            
Uma solução é colocar esse campo na sua msflexgrid e definir o tamanho como 0, seguindo o seu padrão ele estaria na coluna 4, como voce falou que esse campo é de comentário crie um form com um objeto RichTextBox, para exemplo vou chamar esse form de "form1"
 
no evento clicar voce faria:
        msflexgrid1.col=4
        if not isnull(msflexgrid1.text) then
                form1.richtextbox.text=msflexgrid1.text
                form1.show
        else
                msgbox("Esse registro não tem comentário"
        end if
 
 
     
Página(s): 1/1    

CyberWEB Network Ltda.    © Copyright 2000-2025   -   Todos os direitos reservados.
Powered by HostingZone - A melhor hospedagem para seu site
Topo da página