DataGridView

Si tratta di un potente controllo per visualizzare i dati sullo schermo, ha molte opzioni, provate a vedere un semplice esempio e poi parlare di tutto quello che io uso quando si lavora con un DataGridView.

 'Connessione al database e ottenere i record in un DataTable
 Dim cnn As New SqlConnection
 cnn.ConnectionString = _
 "Data Source = .. \ SQLEXPRESS; Initial Catalog = BasedePrueba;
 Integrated Security = True "

 "Alcune linee di questo codice dovevano essere divisi
 'Non EKL entrare larghezza dello schermo.

 cnn.Open ()

 Dim ds As New DataSet
 Dim Come da New SqlDataAdapter

 Dim sql As String
 sql = "Select * from SaldosClientes"
 da.SelectCommand = New SqlCommand (sql, cnn)
 da.Fill (ds)
 cnn.Close ()

 'Con questa formazione ho un DataTable
 '(Dt), con i record risultanti
 Dt As DataTable = ds.Tables (0)

 'Ora posso assegnare il DataTable (dt) per DataGridView1
 DataGridView1.DataSource = dt

Con il codice sopra abbastanza per riempire la nostra DataGridView prima. Ora vedremo cosa possiamo fare con questo controllo.

 'Definisce quale carattere utilizzare
 DataGridView1.Font = _
     New Drawing.Font ("Tahoma", 8, FontStyle.REGULAR, GraphicsUnit.Point

 'Quali colonne sono visibili
 DataGridView1.Columns ("Id"). Visible = False
 DataGridView1.Columns ("Codice"). Visible = True
 DataGridView1.Columns ("RazonSocial"). Visible = True
 DataGridView1.Columns ("Data"). Visible = True
 DataGridView1.Columns ("Balance"). Visible = True

 'Quale sarà l'ordine delle colonne
 DataGridView1.Columns ("Id"). DisplayIndex = 0
 DataGridView1.Columns ("Codice"). DisplayIndex = 1
 DataGridView1.Columns ("RazonSocial"). DisplayIndex = 2
 DataGridView1.Columns ("Data"). DisplayIndex = 3
 DataGridView1.Columns ("Balance"). DisplayIndex = 4

 'Larghezza delle colonne
 DataGridView1.Columns ("Id"). Width = 100
 DataGridView1.Columns ("Codice"). Width = 100
 DataGridView1.Columns ("RazonSocial"). Width = 100
 DataGridView1.Columns ("Data"). Width = 100
 DataGridView1.Columns ("Balance"). Width = 100

 'La colonna di intestazione
 DataGridView1.Columns ("Id"). HeaderText = "Id"
 DataGridView1.Columns ("Codice"). HeaderText = "Codice"
 DataGridView1.Columns ("RazonSocial"). HeaderText = "Nome"
 DataGridView1.Columns ("Data"). HeaderText = "Data"
 DataGridView1.Columns ("Balance"). HeaderText = "Balance"

 "L'allineamento delle celle in ciascuna colonna
 DataGridView1.Columns ("Id"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

 DataGridView1.Columns ("Codice"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("RazonSocial"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Data"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Balance"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

 'L'intestazione di ogni colonna alinación
 DataGridView1.Columns ("Id"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

 DataGridView1.Columns ("Codice"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("RazonSocial"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Data"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Balance"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

 'Il formato delle colonne numeriche
 DataGridView1.Columns ("Balance"). DefaultCellStyle.Format = "# # # # 0,00"

Beh, ho passato molto tempo alla ricerca di tutte queste impostazioni per lasciare un DataGridView come mi piaceva. Spero vi sia utile e sarò caricando più presto su questo grande controllo dei dati.

22 Responses to "DataGridView"

  1. [...] 12, 2009 Oggi voglio mostrare un semplice esempio di come connettersi a SQL Server e popolare un DataGridView, ma senza scrivere una sola riga di codice. Questo significa che ci trascina [...]

  2. JOSE LUIS PEREZ dice:

    Grazie,

    Questi esempi sono molto buone soprattutto con la semplicità che spiegare.

    Congratulazioni.

  3. Jose ha detto:

    Molto buona la tua spiegazione, ma mi chiedo se mi può aiutare, per vedere come farlo in senso inverso, vale a dire, prendendo i dati di un DataGridView (esempio 1 riga e 4 colonne), aggiungere una nuova riga in un database le stesse caratteristiche (1 row, 4 colonne), apprezzo molto il vostro aiuto. Grazie.

  4. David C. ha detto:

    Grazie per l'esempio di riempimento e la configurazione del datagridview, ho servito bene.

  5. Rodrigo Caceres ha detto:

    Complimenti, puro e semplice ... un modello di ruolo

  6. HACKER ROOT GONZALO dice:

    INFORMAZIONI PER QUESTO GRAIAS spiegato molto bene MOLTO vi ho DI SERVIZIO PER IL VOSTRO AIUTO.

    :-)

  7. Alexander ha detto:

    HEY GRAZIE PER LA seguenti informazioni in modo, VERITA 'E FUNZIONALE OTTIMAMENTE SPIEGATO CHE NOI utilizzare l'oggetto DataGrid spesso i programmatori

  8. Juan Osuna dice:

    Ciao Ho una domanda che mi rode per giorni,
    e scoprire l'indice della riga che ho selezionato in un datagridview.
    per formare e passarlo anche a me ha insegnato i dettagli completi in forma sto impazzendo

  9. DarkRex dice:

    Molto buono
    ma mi piace sapere come convalidare i dati immessi in una cella del tipo di colonna DataGridView è data e un maskeditbox.

  10. Nathalia Gomez dice:

    E per fare tutti i tipi di convalida

  11. Sanclemente gino dice:

    Ciao a tutti .. q Vorrei aiutarmi perché sto lavorando con un q q contiene un datagridview oggetto DataGridViewComboBoxColumn codificare i andare a vedere se posso aiutare a trovare un errore o ti manca q: Private Sub BtnAddRequisito_Click (ByVal sender As System.Object, ByVal e As System.EventArgs) Handles BtnAddRequisito.Click
    Dim As String = Negocio.Conexion sConexion
    Come Ds_datos new DataSet Dim
    Come CboRequisitoColumn.Name SQUERY String Dim = "Oggetto"
    Me.DGVMaterias.Columns.Add (CboRequisitoColumn)
    SQUERY = "SELECT asg_codigo come codice, descrizione FROM asg_nombre come spsatbasignatura WHERE asg_semestre <" & Me.CMBSemestre.Text Ds_datos = Accesar_Datos.GetDataSet (SQUERY, sConexion)
    my_DGVCboColumn.DataSource Ds_datos.Tables = (0)
    my_DGVCboColumn.Name = "Data"
    my_DGVCboColumn.DisplayMember = Ds_datos.Tables (0). colonne ("descrizione"). ToString
    my_DGVCboColumn.ValueMember = Ds_datos.Tables (0). colonne ("numero"). Me.DGVMaterias.Columns.RemoveAt ToString (0)
    Me.DGVMaterias.Columns.Insert (0, my_DGVCboColumn)
    Sub'el End crea sopra la griglia
    'Il seguente è dove voglio
    'Assegnare o inserire il codice mi dà q
    'My_DGVCbocolumn oggetto si trova a q q DGVMaterias xq penso che non dovrebbe
    'Riferirsi al Sub Agregar_Requisitos CboRequisitoColumnPrivate ()
    SQUERY Dim As String = ""
    Dim As String = Negocio.Conexion sConexion
    Come Ds_Datos new DataSet Dim
    KROW Dim As Integer = 0
    Dim aux As String
    Prova Dim r As Integer = 0 To KROW Per Me.DGVMaterias.RowCount - 1
    aux = Me.my_DGVCboColumn.Items (KROW). ToString
    r = CType (aux, Integer)
    SQUERY = "spi_spsatbrequisito_asignatura" & Codice & "" & r & ""
    Ds_Datos = Accesar_Datos.GetDataSet (SQUERY, sConexion)
    KROW Avanti
    Catch ex As Exception
    MsgBox (ex.Message, MsgBoxStyle.Critical, "Error")
    Grazie End Sub TryEnd "in anticipo

  12. Modalità dice:

    Hey. Grazie per questo post come utili. Stavo impazzendo cercando di indovinare come a una alienazione diverso per ogni colonna. Comunque, ho messo il codice corrispondente nell'evento Load della forma che ha il controllo DataGrid e mi dà errore. Ho detto che mi riferisco a un oggetto che non esiste. Qualcuno sa perché? Forse dovrei inserire il codice in un altro routine evento diverso? Grazie.

  13. Mel86 ha detto:

    Ciao .. Spero di leggere questo commento .. Mi piacerebbe sapere che possedeva datagrid prendere me no. ID cliente di scegliere.

    Elemplo ... se cerco persone che vivono in luogo X e io sono 2 nella datagrid, per dare un doppio clic sulla cella del numero record di campo testo mi ha riempito con i dati. Che cosa è che darmi 2 dati di ricerca registra regustro ultimo non è la prima o la terza .. GRAZIE utilizzare un ciclo nel C1_CellDoubleClick evento (datagrid)
    Per x As Integer = 0 To (C1.RowCount - 2)
    C1.Item Label3.Text = (0, x). Valore
    Prossimo

  14. Enrique ha detto:

    Ciao! Sono nuovo di DataGridView,
    Sto lavorando con Visual Stuio 2008,

    La mia domanda è:

    Ho un DataGridView e sto passando i dati attraverso un "PictureBox" (prodotto, prezzo, e catidad totale)
    CLICCA per dare l'immagine prima, le celle riempite con un "ImputBox" Ho chiesto quanto e rende l'operazione (prezzo * = importi totali)

    Ma ...

    Per fare lo stesso con l'immagine successiva, oppure con la stessa immagine, DATI ho sempre messo nella stessa riga!

    Come posso dare a voi per ogni k tempo delle immagini CLCK me gestire la riga che si trova ...?

    Apprezzo molto questo contributo!

  15. Mombiela Jaime dice:

    Grazie mille.
    Esempi molto buoni.

  16. Jose ha detto:

    Saluti amico, grazie per il codice

  17. Fernando Guillermo Caceres Illanes dice:

    Molte grazie per l'ingresso, per giorni e vengono in cerca di un esempio, si adatta al mio codice e compilare molto bene ..

  18. Jordi ha detto:

    Mi chiedo se il controllo DataGridView consente di raggruppare più righe con un campo comune. Posso fare?

    Grazie

  19. Marcelo dice:

    Ho un dubbio CON GRIDWIEV, modificare la query E NON CARICARE IL GRID sullo schermo che può essere questo mi riguarda COSA?

    Saluti e ringraziamenti

    • Elisha ha detto:

      se a specificare un po 'più il problema e mi fai vedere la linea in questione può essere in grado di aiutare.

Commento