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

    [VB] Un evento su DataGrid come un su evento ListView

    per VB.NET ...,

    Salve!

    Vorrei fare un evento su di un "DataGrid" come si fa su di una ListView, cioe':

    Per ListView:
    codice:
        Private Sub ListView1_SelectedIndexChanged(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles lwDomini.SelectedIndexChanged
            If ListView1.SelectedItems.Count > 0 Then
                Dim ID_Selezionato As Integer = ListView1.SelectedItems.Item(0).Text
            End If
        End Sub
    con questo codice seleziono l'[b]ID_Selezionato[b] che si trova nella prima colonna della ListView, la quale colonna ho dato "Width=0" in modo che non si veda(...molto importante per quello che serve a me...)

    L'ID_Selezionato si trova nella prima colonna perche' ho popolato la ListView in questo modo e come si puo' notare l'ID e' nella prima colonna:
    codice:
                    conn.Open()
                    Dim comm As New OleDbCommand("SELECT * FROM Utenti", conn)
                    Dim read As OleDbDataReader = comm.ExecuteReader
                    Dim li As ListViewItem
                    While read.Read()
                        li = lwEmail.Items.Add(read("ID"))
                        li.SubItems.Add(read("Nome"))
                        li.SubItems.Add(read("Cognome"))
                        li.SubItems.Add(read("Indirizzo"))
                        li.SubItems.Add(read("Tel"))
                        li.SubItems.Add(read("Cell"))
                    End While
                    conn.Close()
    DOmande.............>>>

    1) si puo' fare tutto questo con un "DataGrid" usando un "DataSet" ???
    2) si puo' poi al click (o alla selezione) su una riga estrarre il primo campo dove si trova l'ID ???
    3) si puo fare la prima colonna con "Width=0" ???

    Grazie in anticipo !!!

  2. #2
    Vi prego o e' molto importante!!!!!!!!!!!

  3. #3
    Utente di HTML.it
    Registrato dal
    Oct 2002
    Messaggi
    327
    1) si puo' fare tutto questo con un "DataGrid" usando un "DataSet" ???

    SI si può

    2) si puo' poi al click (o alla selezione) su una riga estrarre il primo campo dove si trova l'ID ???

    si quando clicchi devi gestire l'evento _CLick() e quindi
    le proprietà .Row e .Col sono già setttate
    ID=DataGrid1.text

    3) si puo fare la prima colonna con "Width=0" ???
    No non si può, comunque non esiste solo la DataGrid anche le altre grid hanno il dataset e hanno molte più libertà di manipolazione.

    Ciao.

  4. #4
    Originariamente inviato da ddies
    1) si puo' fare tutto questo con un "DataGrid" usando un "DataSet" ???

    SI si può

    2) si puo' poi al click (o alla selezione) su una riga estrarre il primo campo dove si trova l'ID ???

    si quando clicchi devi gestire l'evento _CLick() e quindi
    le proprietà .Row e .Col sono già setttate
    ID=DataGrid1.text

    3) si puo fare la prima colonna con "Width=0" ???
    No non si può, comunque non esiste solo la DataGrid anche le altre grid hanno il dataset e hanno molte più libertà di manipolazione.

    Ciao.
    Io arrivo fino a qui', oltre non so cosa fare.........

    popolo DataGrid:
    codice:
            Dim DataAdapter As New OleDbDataAdapter()
            Dim DataSet As DataSet = New DataSet()
            Conn.Open()
            DataAdapter.SelectCommand = New OleDbCommand()
            DataAdapter.SelectCommand.Connection = Conn
            DataAdapter.SelectCommand.CommandText = "SELECT * FROM authors"
            DataAdapter.SelectCommand.CommandType = CommandType.Text
            DataAdapter.SelectCommand.ExecuteNonQuery()
            DataAdapter.Fill(DataSet, "authors")
            Conn.Close()
            DataAdapter = Nothing
            Conn = Nothing
            dg1.DataSource = DataSet
            dg1.DataMember = "authors"
    estraggo la riga cliccata:
    codice:
        Private Sub dg1_MouseUp(ByVal sender As Object, ByVal e As System.Windows.Forms.MouseEventArgs) Handles dg1.MouseUp
            Dim pt = New Point(e.X, e.Y)
            Dim hti As DataGrid.HitTestInfo = dg1.HitTest(pt)
            If hti.Type = DataGrid.HitTestType.Cell Then
                dg1.CurrentCell = New DataGridCell(hti.Row, hti.Column)
                dg1.Select(hti.Row)
                MsgBox(hti.Row)
            End If
        End Sub
    ma cosi mi ritorna solo la riga che ho cliccato, mentre io vorei estrarre ad esempio il campo Nome oppure l'ID, oppure il Cognome, come posso fare questo???

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.