Visualizzazione dei risultati da 1 a 10 su 10
  1. #1

    [VB6] Problema Datagrid (insolito)

    Ciao a tutti,
    premetto che ho cercato sul forum, sono stato 1 ora a leggere possibili post che potevano risolvere il mio problema ma niente.

    Allora spiego subito il mio problema:
    Ho una tabella CLIENTI, ho una form CLIENTI con un datagrid nel quale ci sono i dati dei clienti e funziona bene.
    Ora il punto è che ho inserito 4 nuovi campi nella tabella CLIENTI e non riesco a far vedere al Datagrid questi nuovi campi!
    Come fare per aggiungerli? Sull'evento Form_Load ho questo codice qui sotto riportato, inoltre nella proprietà del Datagrid ho messo a true la proprietà ALLOWADDNEW.

    Codice PHP:
    Private Sub Form_Load()

    Set rdsclienti cn.Execute("SELECT * FROM Clienti ORDER BY COD_CLI DESC")
    Set dgclienti.DataSource rdsclienti
    dgclienti
    .Refresh

    dgclienti
    .Columns(0).Width 490
    dgclienti
    .Columns(1).Width 5300
    dgclienti
    .Columns(2).Width 2069
    dgclienti
    .Columns(3).Width 569
    dgclienti
    .Columns(4).Width 975
    dgclienti
    .Columns(5).Width 420
    dgclienti
    .Columns(6).Width 1214
    dgclienti
    .Columns(7).Width 3119

    dgclienti
    .RowHeight 600
    dgclienti
    .Columns(7).WrapText True

    rdsclienti 
    Nothing

    End Sub 
    Non riesco a capire come far "ricaricare sto Datagrid"...

  2. #2
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Ma hai aggiunto "campi" o "record" ...?

  3. #3
    Utente di HTML.it L'avatar di Brainjar
    Registrato dal
    Nov 2004
    Messaggi
    1,162
    Quanti campi (colonne) ha in tutto la tabella Clienti, compresi quelli nuovi ?
    Otto o Dodici ?

    Se ne ha dodici, allora devi settare le dimensioni anche delle altre quattro colonne.

    codice:
    
    dgclienti.Columns(8).Width =   .... 
    dgclienti.Columns(9).Width =   .... 
    dgclienti.Columns(10).Width =  .... 
    dgclienti.Columns(11).Width =  ....
    Ciao, Brainjar

  4. #4
    Ho aggiunto dei campi, ossia alla tabella CLIENTI ho aggiunto il campo tel_cliente

  5. #5
    Uhmm risolto, era un mio errore di manipolazione del datagrid, ossia per aggiungere graficamente i campi nel datagrid si deve prima fare modifica poi aggiungi.

    scusate, però magari torna utile a qualche principiante come me.

    Altro problema questa volta, forse, più serio ho la form CLIENTI con il mio bel datagrid, ho un pulsante modifica, lo premo si apre la form modifica cliente, cambio i dati, premo il tasto salva sulla form modifica cliente, chiudo la form modifica cliente, ma il datagrid rimane con i vecchi dati del cliente!
    Per aggiornarli devo chiudere la form CLIENTI, quella con il datagrid, la riapro ora i dati sono aggiornati
    Come posso aggiornare i dati del datagrid senza aprire e chiudere?
    Ho cercato sul forum ma non ho trovato nulla di utile al riguardo... aiutino?

  6. #6
    up

    suggerimenti?

  7. #7
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Dopo che hai modificato i dati, esegui un refresh del recordset associato al datagrid

  8. #8
    Ciao allora sull'evento click del pulsante salva del form modifica clienti ho questo codice:

    cn.Execute ("UPDATE Clienti SET NOME='" & Replace(txtnome.text, "'", "''") & .... " ")
    MsgBox "Modifica clienti eseguita"
    ' FACCIO IL REFRESH PER AGGIORNARE IL NOME
    frmClienti.dgclienti.Refresh
    frmClienti.txtRicerca.text = ""
    frmClienti.cmdcanc.Enabled = False
    frmClienti.cmdmod.Enabled = False
    Unload Me

    Set rdsclienti = cn.Execute("SELECT * FROM Clienti")
    quindi nell'evento form load della form clienti (dove si trova il datagrid)

    Private Sub Form_Load()
    Set rdsclienti = cn.Execute("SELECT * FROM Clienti ORDER BY COD_CLI DESC")
    Set dgclienti.DataSource = rdsclienti
    dgclienti.Refresh

    dgclienti.Columns(0).Width = 490
    dgclienti.Columns(1).Width = 5300
    dgclienti.Columns(2).Width = 2069
    dgclienti.Columns(3).Width = 569
    dgclienti.Columns(4).Width = 975
    dgclienti.Columns(5).Width = 420
    dgclienti.Columns(6).Width = 1214
    dgclienti.Columns(7).Width = 3119
    dgclienti.Columns(8).Width = 3119
    dgclienti.Columns(9).Width = 3119
    dgclienti.Columns(10).Width = 3119
    dgclienti.Columns(11).Width = 3119
    dgclienti.Columns(12).Width = 3119
    dgclienti.Columns(13).Width = 3119
    dgclienti.Columns(14).Width = 3119

    dgclienti.RowHeight = 600
    dgclienti.Columns(7).WrapText = True

    End Sub
    no non c'è nessun refresh del recordset dove lo devo mettere eventualmente? :master:

    Ciao e grazie
    Fabio

  9. #9
    Utente di HTML.it L'avatar di oregon
    Registrato dal
    Jul 2005
    residenza
    Roma
    Messaggi
    36,480
    Quando chiudi il form modifica chiamato dal form clienti, non viene eseguita la Load di quest'ultimo ...

  10. #10
    mmm ossia?

    cosa dovrei fare?

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.