GRID PARA CADASTRO DE VENDAS

CARLINHOS.SONEG 01/12/2006 07:37:04
#187307
OLà A TODOS, é O SEGUINTE TENHO UMA TELA DE CADASTRO DE VENDAS DE PRODUTOS, E PARA INSERIR OS PRODUTOS TENHO UM FLEXGRID, MAS GOSTARàA DE FAZER O SEGUINTE NO GRID TENHO AS COLUNAS (CÓ“DIGO, NOME, VALOR UNITARIO), E PARA ADICIONAR UM PRODUTO é PRECISO CLICAR EM UM BOTÃO QUE CHAMA OUTRO FORM COM OS PRODUTOS E QUANDO SELECIONAMOS O PRODUTO ENTÃO é PREENCHIDO O FLEX, MAS QUERIA DIGITAR O NUMERO NA COLUNA DO CODIGO NO FLEX E ELE MESMO PREENHER O RESTO DO FLEX COM AS INFORMAÇÕES DO BD, SEM O USO DE OUTRO FORM, TEM JEITO?
3LTON 01/12/2006 07:45:09
#187309
Creio que tenha sim. Particularmente não uso o Flex Grid, so uso o Sgrid. Aki no site deve ter alguma coisa sobre isso.
CARLINHOS.SONEG 01/12/2006 07:48:08
#187311
mas no sgrid isso é possível, se for eu passo tudo sgrid, o que eu quero é só resolver este problema
USUARIO.EXCLUIDOS 01/12/2006 08:53:37
#187323
cara, no caso vc quer preencher o campo do grid quando ele perder o foco?
USUARIO.EXCLUIDOS 01/12/2006 22:15:41
#187544
Sugiro você sobrepor um text na célula que você quer digitar e depois ao sair do text, ele copie o conteúdo para a célula.

Exemplo:

Private Sub MGrid1_Click()
a = MGrid1.Row
b = MGrid1.Col
C = MGrid1.Text

If b = 0 Then
With Text7
.Left = MGrid1.Left + MGrid1.ColPos(b) + 30
.Top = MGrid1.Top + MGrid1.RowPos(a) + 20
.Width = MGrid1.ColWidth(b)
.Visible = True
.SetFocus
.Text = C
End With
End If

End Sub


e:

Private Sub Text7_KeyPress(KeyAscii As Integer)
a = MGrid1.Row
b = MGrid1.Col

If KeyAscii = 13 Or KeyAscii = 9 Then
KeyAscii = 0
If b = 0 Then
Set rsTemp = New ADODB.Recordset
rsTemp.CursorLocation = adUseClient
rsTemp.Open "Select * From SuaTabela where Codigo =" & Trim(Text7.Text), cnBanco, adOpenKeyset, adLockOptimistic
If Not rsTemp.EOF Then
MGrid1.TextMatrix(a, 0) = Text7.Text
MGrid1.TextMatrix(a, 1) = rsTemp!Nome
MGrid1.TextMatrix(a, 2) = rsTemp!ValorUnitario
Else
MsgBox "Código Não Existe!!!", vbCritical, "ERRO!"
MGrid1.Col = 0
MGrid1.SetFocus
Exit Sub
End If
rsTemp.Close
Set rsTemp = Nothing
End If
End If
End Sub



Qualquer dúvida poste aí.


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