ATUALIZAR FLEX GRID

TOKOS 04/10/2009 15:26:32
#324367
esotu com problema na hora de alterar um registro ...
quando eu salvo um novo registro ele atualiza automaticamente na flex grid sem precisar fechar
mas agora quando eu vou alterar algum registro ele nao atualiza direto na flex grid, é preciso eu fechar e abrir novamente
alguem tem alguma soluçao para que possa fazer esta atualizaçao sem precisar fechar ?

Obrigado
LLAIA 04/10/2009 16:40:28
#324369
cara, se vc não tem muitos dados para serem exibidos no flexgrid, vc pode executar o procedimento de preenchimento do grid novamente após a alteração.


uma outra opção seria vc editar diretamente na(s) célula(s) da linha do grid que corresponde ao registro que vc alterou.
EDERMIR 04/10/2009 21:52:32
#324389
O REFRESH não funciona?

grid.refresh = true
JAMESBOND007 24/06/2010 16:06:32
#345707
estou com o mesmo problema
o refresh não funciona
MSMJUDAS 24/06/2010 16:24:13
#345708
Acho que o Refresh não vai funcionar nesse caso

Como o LLAIA disse, vc poderia chamar o preenchimento do grid logo após a inserção ou atualização dos dados.
JAMESBOND007 24/06/2010 16:29:57
#345711
mas no meu caso e diferente o cliente e cadastrado pelo vendedor no PC1,
no PC2 esta a flex que tem que estar atualizada, na hora que o cliente for cadastrado ela atualiza automaticamente.
MSMJUDAS 24/06/2010 17:59:29
#345720
JAMESBOND007

Então vc vai ter colocar um TIMER pra todo momento verificar a tabela de clientes.
LLAIA 24/06/2010 18:39:16
#345721
Citação:

:
mas no meu caso e diferente o cliente e cadastrado pelo vendedor no PC1,
no PC2 esta a flex que tem que estar atualizada, na hora que o cliente for cadastrado ela atualiza automaticamente.



essa sua abordagem tá esquisita

o que sua aplicação faz? qual é o propósito dela?
MICROSCHEME 24/06/2010 18:46:53
#345727
A mesma dica que dei pro JamesBonde007

No caso dele está em Timer2

Blz . . .

Substitua ApostasRecSet pelo nome do teu Recordset e MSFlexgrid001 pelo nome do teu grid

Private Sub Timer2_Timer()
CarregaGrade
End Sub

Private Function CarregaGrade()
If Not ApostasRecSet.RecordCount = 0 Then
MSFlexGrid001.Rows = ApostasRecSet.RecordCount + 1
MSFlexGrid001.Cols = ApostasRecSet.Fields.Count
MSFlexGrid001.Row = 1
MSFlexGrid001.Col = 0
MSFlexGrid001.RowSel = MSFlexGrid001.Rows - 1
MSFlexGrid001.ColSel = MSFlexGrid001.Cols - 1
MSFlexGrid001.Clip = ApostasRecSet.GetString(adClipString, -1, Chr(9), Chr(13), vbNullString)
MSFlexGrid001.Row = 1
End If
End Function
JAMESBOND007 25/06/2010 10:51:21
#345777
MICROSCHEME,
o codigo funfa so que a flex nao sai na ordem ela sai desorganizada
MICROSCHEME 25/06/2010 15:59:22
#345799

Bem vamos la:

Na função acrescenta o fechamento e a nova abertura do recordset.

Abrindo novamente o recordset tu pode colocar a ordem que quizer.

Eu costumo ter tudo fechado, conexões, recordsets, etc . . .

Quando Preciso, abro a conexão, abro o recordset, carrgego minhas grids e fecho tudo, dicando só a grid cheia

Só implementar na função ou no timer

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