DataGridView

Dette er en kraftig kontroll for å vise data på skjermen, har mange muligheter, prøv å se et enkelt eksempel og så nevne alt som jeg bruker når du arbeider med en DataGridView.

 'Koble til databasen og få postene i en DataTable
 Dim cnn som ny SqlConnection
 cnn.ConnectionString = _
 "Data Source = .. \ SQLEXPRESS; første katalogen = BasedePrueba;
 Integrert Security = True "

 "Noen linjer av denne koden måtte deles
 «EKL ikke inn skjermbredden.

 cnn.Open ()

 Dim ds As New datasett
 Nye SqlDataAdapter Dim DAGER

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

 «Med denne linjen får jeg en DataTable
 '(Dt) med de resulterende postene
 Dim dt Som DataTable = ds.Tables (0)

 «Nå kan jeg tilordne DataTable (dt) til DataGridView1
 DataGridView1.DataSource = dt

Med koden ovenfor nok til å fylle vår første DataGridView. Nå får vi se hva annet kan vi gjøre med denne kontrollen.

 'Definer hvilken font å bruke
 DataGridView1.Font = _
     Ny Drawing.Font ("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point

 «Hva kolonner er synlige
 DataGridView1.Columns ("ID"). Visible = False
 DataGridView1.Columns ("Code"). Visible = True
 DataGridView1.Columns ("RazonSocial"). Visible = True
 DataGridView1.Columns ("Dato"). Visible = True
 DataGridView1.Columns ("Balance"). Visible = True

 «Hva blir rekkefølgen av kolonnene
 DataGridView1.Columns ("ID"). DisplayIndex = 0
 DataGridView1.Columns ("Code"). DisplayIndex = 1
 DataGridView1.Columns ("RazonSocial"). DisplayIndex = 2
 DataGridView1.Columns ("Dato"). DisplayIndex = 3
 DataGridView1.Columns ("Balance"). DisplayIndex = 4

 «Kolonnebredde
 DataGridView1.Columns ("ID"). Bredde = 100
 DataGridView1.Columns ("Code"). Bredde = 100
 DataGridView1.Columns ("RazonSocial"). Bredde = 100
 DataGridView1.Columns ("Dato"). Bredde = 100
 DataGridView1.Columns ("Balance"). Bredde = 100

 'The kolonneoverskriften
 DataGridView1.Columns ("ID"). HeaderText = "Id"
 DataGridView1.Columns ("Code"). HeaderText = "Code"
 DataGridView1.Columns ("RazonSocial"). HeaderText = "Navn"
 DataGridView1.Columns ("Dato"). HeaderText = "Dato"
 DataGridView1.Columns ("Balance"). HeaderText = "Balanse"

 "Den justering av cellene i hver kolonne
 DataGridView1.Columns ("ID"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

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

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

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

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

 'The alinación overskriften i hver kolonne
 DataGridView1.Columns ("ID"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

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

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

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

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

 «Formatet på de numeriske kolonner
 DataGridView1.Columns ("Balance"). DefaultCellStyle.Format = "# #, # # 0.00"

Vel, jeg har brukt mye tid på å lete etter alle disse innstillingene til å forlate en DataGridView som jeg likte. Jeg håper du finner det nyttig og jeg skal laste opp mer snart om dette store datakontroll.

22 Responses to "DataGridView"

  1. [...] 12, 2009 I dag vil jeg vise et enkelt eksempel på hvordan du kobler til SQL Server og fylle en DataGridView, men uten å skrive en eneste linje med kode. Dette betyr at vi vil dra og slippe [...]

  2. JOSE LUIS PEREZ sier:

    Takk,

    Disse eksemplene er veldig bra, spesielt med enkelheten som forklarer.

    Gratulerer.

  3. Jose sier:

    Meget god din forklaring, men jeg lurer på om dere kan hjelpe meg, å se hvordan du gjør det i revers, dvs. tar dataene i en DataGridView (Eksempel 1 rad og 4 kolonner), legge til en ny rad i en database de samme egenskapene (1 rad, 4 kolonner), setter stor pris på din hjelp. Takk.

  4. David C. sa:

    Takk for eksempel fylling og konfigurasjon av datagridview, servert jeg godt.

  5. Rodrigo Caceres sier:

    Gratulerer, rett og slett ... en rollemodell

  6. HACKER Gonzalo ROOT sier:

    GRAIAS INFORMASJON for dette svært godt forklart mye jeg har tjent takk for din hjelp.

    :-)

  7. Alexander sier:

    Hei, takk etter følgende informasjon SO, utmerket forklart og FUNKSJONELL SANNHETEN at vi bruker programmerere DataGrid OFTE

  8. Juan Osuna sier:

    Hei Jeg har et spørsmål som gnager på meg i flere dager,
    og finn ut indeksen på raden som jeg har valgt i en datagridview.
    å danne og gi det selv lærte meg den fullstendige detaljer i skjemaet jeg gal

  9. DarkRex sier:

    Veldig bra
    men jeg liker å vite hvordan å validere data som skrives i en celle i datagridview kolonne typen er dato og en maskeditbox.

  10. Nathalia Gomez sier:

    Og for å gjøre alle typer validering

  11. Sanclemente Gino sier:

    hei alle .. q Jeg ønsker å hjelpe meg fordi jeg jobber med en q q inneholder en gjenstand datagridview DataGridViewComboBoxColumn koden jeg kommer til å se om jeg hjelpe deg med å finne en feil eller har du mangler q: Private Sub BtnAddRequisito_Click (ByVal sender Som System.Object, ByVal e Som System.EventArgs) håndterer BtnAddRequisito.Click
    Dim As String = Negocio.Conexion sConexion
    Som nytt datasett Dim Ds_datos
    As String Dim sQuery CboRequisitoColumn.Name = "Emne"
    Me.DGVMaterias.Columns.Add (CboRequisitoColumn)
    sQuery = "SELECT asg_codigo som kode, beskrivelse fra asg_nombre som spsatbasignatura HVOR 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). kolonner ("beskrivelse"). toString
    my_DGVCboColumn.ValueMember = Ds_datos.Tables (0). kolonner ("nummer"). toString Me.DGVMaterias.Columns.RemoveAt (0)
    Me.DGVMaterias.Columns.Insert (0, my_DGVCboColumn)
    Slutt Sub'el skaper over nettet
    'Følgende er der jeg vil ha
    'Tilordne eller inn koden gir meg q
    «My_DGVCbocolumn objekt q er innenfor q DGVMaterias XQ tror jeg at jeg ikke burde
    «Se Sub CboRequisitoColumnPrivate Agregar_Requisitos ()
    SQuery Dim As String = ""
    Dim As String = Negocio.Conexion sConexion
    Som nytt datasett Dim Ds_Datos
    KROW Dim As Integer = 0
    Dim aux As String
    Prøv Dim r As Integer = 0 til KROW For Me.DGVMaterias.RowCount - 1
    aux = Me.my_DGVCboColumn.Items (KROW). toString
    r = CType (aux, heltall)
    sQuery = "spi_spsatbrequisito_asignatura" & Kode & "" & r & ""
    Ds_Datos = Accesar_Datos.GetDataSet (sQuery, sConexion)
    Neste KROW
    Catch ex Som unntak
    MsgBox (ex.Message, MsgBoxStyle.Critical, "Feil")
    TryEnd End Sub 'takk på forhånd

  12. Mode sier:

    Hei. Takk for dette innlegget som nyttig. Jeg ble gal prøver å gjette om en fremmedgjøring annerledes hver kolonne. Uansett, la jeg den tilsvarende koden i hendelsen Lasting av form som har DataGrid og gir meg feil. Jeg sa at jeg refererer til et objekt som ikke eksisterer. Noen som vet hvorfor dette er? Kanskje jeg burde sette inn koden i en annen hendelsesprosedyre annerledes? Takk.

  13. Mel86 sa:

    Hei .. Jeg håper du leser denne kommentaren .. Jeg vil gjerne vite hvem som eide DataGrid fange meg ikke. kunde-ID til å klikke.

    Elemplo ... hvis jeg ser etter folk som bor i X sted og er meg 2 i DataGrid, for å gi deg dobbeltklikk på cellen i det rekordmange tekstboksen jeg fylte meg med dataene. Hva gjør er at ved å gi meg 2 poster søkedata siste regustro ikke den første eller tredje .. TAKK bruke en syklus i tilfelle C1_CellDoubleClick (DataGrid)
    For x As Integer = 0 til (C1.RowCount - 2)
    C1.Item Label3.Text = (0, x). Verdi
    Neste

  14. Enrique sier:

    Hello! Jeg er ny i DataGridView,
    Jeg arbeider med Visual Stuio 2008,

    Mitt spørsmål er:

    Jeg har en DataGridView og jeg passerer dataene gjennom en "PictureBox" (produkt, pris, og total catidad)
    KLIKK for å gi til første bildet, cellene fylt med en "ImputBox" Jeg spurte hvor mye og gjør operasjonen (* Pris = totalt beløp)

    Men ...

    For å gjøre det samme med det neste bildet, eller med det samme bildet, DATA jeg alltid benyttet i samme rad!

    Som jeg kan gi til deg for hver gang k av de IMAGES CLCK meg håndtere den raden som er ...?

    Ville sette stor pris på dette bidraget!

  15. Mombiela Jaime sier:

    Tusen takk.
    Meget gode eksempler.

  16. Jose sier:

    Hilsen venn, takk for koden

  17. Fernando Caceres Guillermo Illanes sier:

    Mange takk for innspill, for dager og kommer på utkikk etter et eksempel, passer det min kode og kompilere veldig godt ..

  18. Jordi sier:

    Jeg lurer på om datagridview kontroll lar deg gruppere flere rader med et felles felt. Kan jeg gjøre?

    Takk

  19. Marcelo sier:

    Jeg har en tvil GRIDWIEV, endre spørring og jeg må ikke legge rutenettet på skjerm som kan dette påvirke ME HVA?

    Hilsener og TAKK

    • Elisha sier:

      hvis jeg spesifisere litt mer problemet og du vise meg linjen i spørsmålet kan kanskje hjelpe.

Kommentar