Visualizzazione dei risultati da 1 a 9 su 9

Discussione: [VB] Datagrid

  1. #1
    Utente di HTML.it L'avatar di serena
    Registrato dal
    Jul 2001
    Messaggi
    138

    [VB] Datagrid

    Un'altra domanda sul datagrid , ho provato a cercare, ma non ho trovato niente che mi potesse aiutare :

    In un datagrid collegato ad un ADO recordset, come faccio a sapere qual è il "nome" della colonna attiva ?

    Mi sono spiegata?
    Grazie

  2. #2
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212


    Che vuol dire?


    Non ti ho capita...

  3. #3
    Utente di HTML.it L'avatar di serena
    Registrato dal
    Jul 2001
    Messaggi
    138

    ben ritrovato darkblood

    Ho un datagrid e l'utente si posiziona su di una cella, io devo assegnare ad una variabile il "nome" della colonna (campo) della cella selezionata...
    qual'è la proprietà che mi restituisce il nome? io non l'ho trovata...

  4. #4
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212


    Allora avevo capito bene ! SPERAVO di non aver capito!

    Questo è un controllo a dir poco indegno (il datagrid).

    Devi prima posizionarti sulla riga che ti interessa e poi tirare fuori il valore.

    con questo codice, ogni volta che clicchi sulla griglia col tasto sx del mouse (button=1) indichi al prog che stai cliccando su una riga valida (se rowcontaining(y) ed ..(x) sono diversi da -1 [che vuol dire fuori griglia]):
    (nb: Riga è una variabile creata da te, può essere boolean o byte)
    codice:
    Private Sub dgDati_MouseDown(Button As Integer, Shift As Integer, X As Single, Y As Single)
    If Button = 1 And dgDati.RowContaining(Y) <> -1 And dgDati.ColContaining(X) <> -1 Then
        Riga = 1
    Else
        Riga = 0
    End If
    End Sub
    Poi, con questo ti tiri fuori il valore della cella della riga sulla quale fai doppio click ( che linguaggio incasinato che uso a volte):
    codice:
    Private Sub DataGrid_dblClick()
    If Riga = 1 Then
        DataGrid.SelBookmarks.Add DataGrid.Bookmark
        Valore = DataGrid.Columns(TuaColonna).Value
    end if
    end sub
    Con questo codice dovresti ottenere anche l'effetto di evidenziazione della riga sulla quale hai cliccato.

    Se fai variare il valore di TuaColonna, otterrai il valore contenuto nella cella della rispettiva colonna indicata (TuoValore).

    Cioè se scrivi:
    Valore = DataGrid.Columns(0).Value
    otterrai il valore scritto nella prima cella della riga su cui hai cliccato.

    Si lo so, la spiegazione è stata penosa, se ti ho confusa dimmelo, cercherò di spiegartelo in un italiano + corretto.

    :gren:

  5. #5
    Utente di HTML.it L'avatar di serena
    Registrato dal
    Jul 2001
    Messaggi
    138
    ehm ehm....
    il mio problema è variare "TuaColonna"...
    non picchiarmi Darkblood...
    quando l'utente è sul grid come faccio a sapere dov'è esattamente?

    Cmq il codice che mi hai postato mi è molto utile, Grazie!

  6. #6
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    prova ad analizzare RowContaining(x) e RowContaining(Y) del DataGrid, se non mi ricordo male dovrebbero indicarti le coordinate della cella sulla quale ti sei posizionata.

    Adesso vedo se trovo qualche modo e magari ti posto qualcosa di + concreto.

    Ciao

  7. #7
    Utente di HTML.it L'avatar di darkblOOd
    Registrato dal
    Jul 2001
    Messaggi
    2,212
    niente di + semplice:

    codice:
    Private Sub DataGrid_dblClick()
    If Riga = 1 Then
        DataGrid.SelBookmarks.Add DataGrid.Bookmark
        Valore = DataGrid.text
    end if
    end sub
    Con questo codice metti in VALORE il testo contenuto nella cella sulla quale fai click.


  8. #8
    Utente di HTML.it L'avatar di serena
    Registrato dal
    Jul 2001
    Messaggi
    138
    Grassssssssssssie, non ho ancora provato, ma sicuramente mi funzionerà!!!

    (oggi sono ottimista!)


  9. #9
    Ho seguito con attenzione il vostro questionare, siccome da poco ho iniziato a programmare in vb, potrei sapere come posso popolare un datagrid??

    Questo script è il mio script
    Set rs = conn.Execute(stringa select..., , adCmdText)
    Set grdData.DataSource = rs

    Invece questo è l'errore
    Impossibile assegare segnalibri al gruppo di righe

    Grazie

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 © 2024 vBulletin Solutions, Inc. All rights reserved.