ADICIONAR ITENS MSFLEXGRID

USUARIO.EXCLUIDOS 23/08/2007 17:53:48
#232417
Pessoal...

como eu faço p/ adicionar ítens do meu banco de dados no meu MSFLEXGRID???

vlwww
USUARIO.EXCLUIDOS 23/08/2007 18:13:10
#232419
Grid1.Clear
Grid1.Rows = 2
Cabeca
RSServicos.Open "Select *from Servicos;", Conexao, 3, 3
While Not RSServicos.EOF
With Grid1
.TextMatrix(.Rows - 1, 1) = "" & RSServicos!Codigo
.TextMatrix(.Rows - 1, 2) = "" & RSServicos!servico
.TextMatrix(.Rows - 1, 3) = "" & FormatNumber(RSServicos!Valor, 2)
.TextMatrix(.Rows - 1, 4) = "" & RSServicos!Comissao
.TextMatrix(.Rows - 1, 5) = "" & RSServicos!Tipo
.Rows = .Rows + 1
End With
RSServicos.MoveNext
Wend
RSServicos.Close
Set RSServicos = Nothing
Grid1.Rows = Grid1.Rows - 1
ARNALDO165 23/08/2007 18:16:04
#232420
olha, aqui vai uma rotininha para preencher a grid

Do until recordset.eof
Grid.TextMatrix(0, 1) = recordset(0).value
Grid.TextMatrix(0, 2) = recordset(1).value
Grid.TextMatrix(0, 3) = recordset(2).value
Grid.TextMatrix(0, 4) = "recordset(3).value
Grid.TextMatrix(0, 5) = recordset(4).value
recordset.movenext
loop
ROBIU 23/08/2007 21:10:40
#232452
Resposta escolhida
O ideal é criar uma subrotina para ao abrir o form, ao inserir um item, ao deletar etc, essa sub seja chamada e a grid atualizada. Pois do contrário as mudanças no banco não aparecem na grid(Depois de excluir, o valor ainda vai aparecer no grid). O MsHflexgrid é melhor para ligar o banco à grid (Nem precisa loop). Procure em componentes por Microsoft Hierarchial Flexgrid Control. Anexo, um exemplo que mostra como usar o Hgrid com Ado. Observe que a qualquer mudança no banco, imediatamente aparece no hgrid. Se estiver dificuldade de colocar a hgrid na configuração deste projeto, copie este componente e cole no seu projeto.
USUARIO.EXCLUIDOS 24/08/2007 09:04:28
#232490
Cara melhor forma

public sub Preenche_Grid()

dim rsGrid as adodb.recordset

set rsGrid = New adodb.recordset

rsGrid.Open "Select * from tabela", Conexao

with MSFLEXGRID 'Nome dado ao flexgrid

.cols = 2
.rows = 2
.FixedCols = 0

.row = 0
.col = 0
.Text = "ID" 'Nome que vai aparece na coluna
.ColWidth(0) = 900 'Tamanho da coluna.
.ColAligment(0) = flexAlignCenterCenter 'Local onde fica escrito no caso desse ficara no centro da coluna.


.col = 1
.Text = "Nome"
.ColWidth(1) = 900
.ColAligment(1) = flexAlignCenterCenter

end with

if rsGrid.EOF then
msgbox "Nenhum registro encontrado"
Exit sub
end if

.rows = 2
.row = 1

do while not rsGrid.EOF

with MSFLEXGRID
.col = 0
.text = rsGrid("ID") Nome dado na coluna do banco

.col = 0
.text = rsGrid("Nome")

.rows = .rows + 1
.row = .row + 1
rsGrid.MoveNext
end with
loop

MSFLEXGRID.Rows = MSFLEXGRID.Rows - 1


Ja era cara fica tilindo, qualquer duvida pergunte

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