MSHFLEXGRID NAO ME OBEDECE
                    Quando meu Flex passa por essa função 
tudo bem, mas se passar nessa função antes
A primeira função não funciona, ou seja, não adiciona uma nova linmha como ainda escreve por cima
alguem sabe pq?!
Grato desde já
OBS: Não vou trocar de Grid xD
                
                      'grd1.Rows = grd1.Rows + 1
        grd1.AddItem ""
        grd1.Refresh
        Dim X
        For X = grd1.Rows - 1 To 0 Step -1
            For Y = 0 To grd1.Cols
                grd1.TextMatrix(X, Y) = grd1.TextMatrix(X - 1, Y)
                grd1.Refresh
            Next
        Next tudo bem, mas se passar nessa função antes
      On Error Resume Next
    Dim nRow, nLinha
    nRow = grd1.Rows
    With grd1
        Dim z
        .Row = .Rows - 1
        If .Rows > 2 Then
            VLR = VLR - CDbl(Replace(.TextMatrix(1, 2), "R$ ", ""))
            PR = PR - CDbl(.TextMatrix(1, 0))
            .RemoveItem (.TopRow)
        Else
            'VLR = VLR - CDbl(Replace(.TextMatrix(1, 2), "R$ ", ""))
            'VLR = VLR - PREÇOTOTAL
            'PR = PR - CDbl(.TextMatrix(1, 0))
            VLR = 0
            PR = 0
            .Clear
            .Rows = 1
        End If
        txtPT.Text = Format(VLR, "##,##0.00")
        txtTOTITENS = PR
    End With A primeira função não funciona, ou seja, não adiciona uma nova linmha como ainda escreve por cima
alguem sabe pq?!
Grato desde já
OBS: Não vou trocar de Grid xD
                    talvez seja por isso
Ao invés de remover linha desta forma já tentou utlizar o removeitem??
ou então só como teste comente esta linha pra ver o que acontece.
                
              .Row = .Rows - 1 Ao invés de remover linha desta forma já tentou utlizar o removeitem??
ou então só como teste comente esta linha pra ver o que acontece.
                    Fiz o q vc disse e ainda não deu
continua a mesma coisa
ao invés de adicionar nova linha ele sobrepoe a primeira (após passar pela 2Âê funcao
                
            continua a mesma coisa
ao invés de adicionar nova linha ele sobrepoe a primeira (após passar pela 2Âê funcao
                    Use a função additem
assim:
Grid.additem PrimeiraColuna & vbtab & segundaColuna.......
e assim vai
A constante [VBTAB] indica ao grid para pular de coluna e automaticamente adiciona o item criando a linha e os dados
ex:
Grid.additem "Nome" & vbtab & "SobreNome" & vbtab & "Sexo"
Espero ter ajudado.
                
            assim:
Grid.additem PrimeiraColuna & vbtab & segundaColuna.......
e assim vai
A constante [VBTAB] indica ao grid para pular de coluna e automaticamente adiciona o item criando a linha e os dados
ex:
Grid.additem "Nome" & vbtab & "SobreNome" & vbtab & "Sexo"
Espero ter ajudado.
Citação:CARDOSO2911 escreveu:
Use a função additem
assim:
Grid.additem PrimeiraColuna & vbtab & segundaColuna.......
e assim vai
A constante [VBTAB] indica ao grid para pular de coluna e automaticamente adiciona o item criando a linha e os dados
ex:
Grid.additem [Ãâ€ÂÂ]Nome[Ãâ€ÂÂ] & vbtab & [Ãâ€ÂÂ]SobreNome[Ãâ€ÂÂ] & vbtab & [Ãâ€ÂÂ]Sexo[Ãâ€ÂÂ]
Espero ter ajudado.
Eu fiz isso, porém dá na mesma...
e observei também que não é visivel no Grid, mas a linha está lá sim!!
Eu só não sei como corrigir isso
Citação:MARCELOHF escreveu:
talvez seja por isso.Row = .Rows - 1
Ao invés de remover linha desta forma já tentou utlizar o removeitem??
ou então só como teste comente esta linha pra ver o que acontece.
inves de usar
  .Row = .Rows - 1 tente usar
  .Row = .Rows + 1 Citação:RENATOBELETTI escreveu:
MARCELOHF escreveu:
talvez seja por isso.Row = .Rows - 1
Ao invés de remover linha desta forma já tentou utlizar o removeitem??
ou então só como teste comente esta linha pra ver o que acontece.
inves de usar.Row = .Rows - 1
tente usar.Row = .Rows + 1
Mas eu estaria excluindo um item do grid, nao da pra ser "+"
                    Cristiano, explica em texto o que vc tá tentando fazer.
PS: viva... nem tudo que dá dor de cabeça é feito em PHP, tá vendo huauhauhauh
                
            PS: viva... nem tudo que dá dor de cabeça é feito em PHP, tá vendo huauhauhauh
                    Eu tenho meu Grid certo?
[th]
a rotina de inclusão NO GRID é esta:
aà eu excluo o ÃÅ¡LTIMO ITEM, e fica assim
[th]
Até aà tudo bem, excluà usando ESSA FUNçÃO
Ok, ainda está tudo bem, MAS quando eu vou adicionar de novo(usando a primeira função)...
E o grid está desse jeito
[th]
(Uai, cadê o produto que adicionei???)
Ele está lá, mas não aparece no grid
eu sei que está devido à  função que fiz para imprimir ITEM por ITEM no "cuponzinho"
Expliquei melhor?
Obrigado!
                
            | Produto[/th] | Preço | 
| Parafuso | 1,50 | 
| Ó“leo | 2,50 | 
a rotina de inclusão NO GRID é esta:
 Private Sub cboItens_KeyPress(KeyAscii As Integer)
    grd1.TextMatrix(0, 0) = "Qtde.:"
    grd1.TextMatrix(0, 1) = "Produto.:"
    grd1.TextMatrix(0, 2) = "Vlr. Itens.:"
    grd1.TextMatrix(0, 3) = "Vlr. Uni.:"
    grd1.ColWidth(1) = 3500
    On Error Resume Next
    If KeyAscii = 42 Then
        QTDE = cboItens
        txtQTDE = cboItens
        cboItens = ""
        KeyAscii = 0
    End If
    grd1.FixedRows = 1
    grd1.FixedCols = 0
    Dim cls As clsSPT
    Set cls = New clsSPT
    Dim rs As ADODB.Recordset
    Set rs = cls.AbreRecordSet("TabProdutos", "where tpCODBAR='" & cboItens & "'")
    PRODUTO = rs("tpDESC")
    PREÇOTOTAL = QTDE * rs("tpVLRCOMPRA")
    If KeyAscii = 13 And rs.RecordCount <> 0 Then
        If QTDE = 0 Then QTDE = 1
        PRODUTO = rs("tpNOME")
        Label3 = "Produto: " & PRODUTO & vbCrLf & "Preço Unitário: " & Format(rs("tpVLRCOMPRA"), "#,##0.00")
        PREÇOTOTAL = QTDE * rs("tpVLRCOMPRA")
        txtPREÇN = rs("tpVLRCOMPRA")
        PR = PR + QTDE
        grd1.Refresh
        VLR = VLR + PREÇOTOTAL
        txtPT.Text = Format(VLR, "##,##0.00")
        grd1.AddItem QTDE & vbTab & PRODUTO & _
                            vbTab & Format(PREÇOTOTAL, "R$ #,##0.00") & _
                            vbTab & Format(rs("tpVLRCOMPRA"), "#,##0.00") & _
                            vbTab & rs("tpVLRCOMPRA") & _
                            vbTab & rs("tpID")
                            
        txtTOTITENS = PR
        cls.FlexCores &H80000018, &HFFFFFF, grd1
        QTDE = 1
        txtQTDE = QTDE
        cboItens = ""
        Set cls = Nothing
        cboItens.SetFocus
    End If
End Sub
  aà eu excluo o ÃÅ¡LTIMO ITEM, e fica assim
| Produto[/th] | Preço | 
| Parafuso | 1,50 | 
Até aà tudo bem, excluà usando ESSA FUNçÃO
  Private Sub Command3_Click()
    On Error Resume Next
    Dim nRow, nLinha
    nRow = grd1.Rows
    With grd1
        Dim z
'        If .Rows > 2 Then
            VLR = VLR - CDbl(Replace(.TextMatrix(1, 2), "R$ ", ""))
            PR = PR - CDbl(.TextMatrix(1, 0))
            .RemoveItem (.Rows - 1)
            If .Rows = 1 Then Command3.Enabled = False
 '       Else
'
'            VLR = 0
'            PR = 0
'            .Clear
'            .Rows = 1
'        End If
        txtPT.Text = Format(VLR, "##,##0.00")
        txtTOTITENS = PR
    End With
End Sub
 Ok, ainda está tudo bem, MAS quando eu vou adicionar de novo(usando a primeira função)...
E o grid está desse jeito
| Produto[/th] | Preço | 
| Parafuso | 1,50 | 
(Uai, cadê o produto que adicionei???)
Ele está lá, mas não aparece no grid
eu sei que está devido à  função que fiz para imprimir ITEM por ITEM no "cuponzinho"
Expliquei melhor?
Obrigado!
                        Tópico encerrado , respostas não são mais permitidas
                    
                


