DataGridView

Acesta este un control puternic pentru a afişa datele pe ecran, are multe opţiuni, încercaţi să vedeţi un exemplu simplu şi apoi vorbim de toate am folosi atunci când se lucrează cu o DataGridView.

 "Conectarea la baza de date şi de obţinere a înregistrărilor într-un DataTable
 Dim CNN Ca SqlConnection noi
 cnn.ConnectionString = _
 "Sursa de date = .. \ SQLEXPRESS; de catalog iniţială = BasedePrueba;
 Integrat de Securitate = True "

 "Unele linii de acest cod a trebuit să fie împărţită
 "Nu Ekl intra lăţimea ecranului.

 cnn.Open ()

 Ds Dim Ca setul de date nou
 Dim da Ca SqlDataAdapter noi

 Dim SQL ca String
 sql = "SELECT * FROM SaldosClientes"
 da.SelectCommand = New SqlCommand (SQL, CNN)
 da.Fill (DS)
 cnn.Close ()

 "Cu această linie am obţine un DataTable
 "(Dt), cu înregistrările rezultate
 Dim dt Ca DataTable = ds.Tables (0)

 "Acum pot atribui DataTable (DT) la DataGridView1
 DataGridView1.DataSource = dt

Cu codul de mai sus suficient pentru a umple DataGridView primul nostru. Acum vom vedea ce altceva mai putem face cu acest control.

 "Definiţi ce font să utilizeze
 DataGridView1.Font = _
     Noua Drawing.Font ("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point

 "Ce sunt coloanele vizibile
 DataGridView1.Columns ("id") = Vizibil. Fals
 DataGridView1.Columns ("Codul") = Vizibil. Adevarat
 DataGridView1.Columns ("RazonSocial") = Vizibil. Adevarat
 DataGridView1.Columns ("data") = Vizibil. Adevarat
 DataGridView1.Columns ("Balanţa") = Vizibil. Adevarat

 "Care va fi ordinea coloanelor
 DataGridView1.Columns ("Id"). DisplayIndex = 0
 DataGridView1.Columns ("Codul"). DisplayIndex = 1
 DataGridView1.Columns ("RazonSocial"). DisplayIndex = 2
 DataGridView1.Columns ("data") DisplayIndex = 3.
 DataGridView1.Columns ("Balanţa"). DisplayIndex = 4

 "Lăţime de coloane
 DataGridView1.Columns ("Id"). Lăţime = 100
 DataGridView1.Columns ("Codul"). Lăţime = 100
 DataGridView1.Columns ("RazonSocial"). Lăţime = 100
 DataGridView1.Columns ("data"). Lăţime = 100
 DataGridView1.Columns ("Balanţa"). Lăţime = 100

 "Antetul coloanei
 DataGridView1.Columns ("Id"). HeaderText = "Id"
 DataGridView1.Columns ("Codul"). HeaderText = "Codul"
 DataGridView1.Columns ("RazonSocial"). HeaderText = "Nume"
 DataGridView1.Columns ("data"). HeaderText = "Data"
 DataGridView1.Columns ("Balanţa") HeaderText = "Balanţa".

 "Aliniere a celulelor în fiecare coloană
 DataGridView1.Columns ("Id"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

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

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

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

 DataGridView1.Columns ("Balanţa"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

 "Antetul alinación de fiecare coloană
 DataGridView1.Columns ("Id"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

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

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

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

 DataGridView1.Columns ("Balanţa"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

 "Formatul de coloane numerice
 DataGridView1.Columns ("Balanţa"). DefaultCellStyle.Format = "# #, # # 0.00"

Ei bine, am petrecut mult timp în căutarea pentru toate aceste setări pentru a lăsa un DataGridView ca mi-a plăcut. Sper că veţi găsi că este util şi voi fi încărcaţi în curând mai multe despre acest control mare de date.

22 Responses to "DataGridView"

  1. [...] 12, 2009 Astăzi vreau să vă arăt un exemplu simplu de cum să se conecteze la SQL Server şi de a popula o DataGridView, dar fără a scrie o singură linie de cod. Acest lucru înseamnă că vom drag and drop [...]

  2. Jose Luis Perez spune:

    Multumesc,

    Aceste exemple sunt foarte bune mai ales cu simplitate care explica.

    Felicitări.

  3. Jose spune:

    Foarte bine explicaţia dumneavoastră, dar mă întreb dacă puteţi să mă ajute, pentru a vedea cum se face în sens invers, de exemplu, preluarea datelor dintr-o DataGridView (Exemplu 1 rând şi 4 coloane), adăugaţi un rând nou într-o bază de date aceleaşi caracteristici (1 rând, 4 coloane), aprecia mult ajutorul tau. Mulţumesc.

  4. David C. a spus:

    Multumesc de exemplu, de umplere şi de configurare a DataGridView, am servit bine.

  5. Rodrigo Caceres spune:

    Felicitări, pur şi simplu ... un model de rol

  6. ROOT HACKERSAFE Gonzalo spune:

    INFORMAŢII PENTRU GRAIAS Foarte bine explicat de mult am FOST vă servi pentru ajutor.

    :-)

  7. Alexander spune:

    HEY Multumesc pentru urmatoarele informatii, adevarul excelent explicate şi FUNCTIONALE pe care le folosim DataGrid Programatorii DES

  8. Juan Osuna spune:

    Buna ziua Am o întrebare care gnaws la mine de zile,
    si afla indicele de rând pe care le-am selectat într-o DataGridView.
    să formeze şi să treacă chiar ma învăţat detalii complete în formularul de am de gând nebun

  9. DarkRex spune:

    Foarte bine
    dar îmi place să ştiu cum de a valida datele introduse într-o celulă de tip coloană DataGridView este data si o maskeditbox.

  10. Nathalia Gomez spune:

    Şi să facă tot felul de validare

  11. Sanclemente Gino spune:

    hi toate .. q Aş dori să mă ajute pentru că eu lucrez cu un q conţine o DataGridView obiect DataGridViewComboBoxColumn cod am de gând să văd dacă am a vă ajuta să găsiţi o eroare sau nu vă lipseşte Î: Private Sub BtnAddRequisito_Click (ByVal Ca expeditor System.Object, ByVal e Ca System.EventArgs) Manere BtnAddRequisito.Click
    Dim Ca String = Negocio.Conexion sConexion
    Ca Ds_datos setul de date noi Dim
    Ca CboRequisitoColumn.Name sQuery String Dim = "Subiect"
    Me.DGVMaterias.Columns.Add (CboRequisitoColumn)
    sQuery = "SELECT asg_codigo ca şi cod, descrierea de la asg_nombre ca spsatbasignatura UNDE asg_semestre <" & Me.CMBSemestre.Text Ds_datos = Accesar_Datos.GetDataSet (sQuery, sConexion)
    my_DGVCboColumn.DataSource Ds_datos.Tables = (0)
    my_DGVCboColumn.Name = "Date"
    my_DGVCboColumn.DisplayMember = Ds_datos.Tables (0) Coloane ("descriere").. toString
    my_DGVCboColumn.ValueMember = Ds_datos.Tables (0). Coloane ("număr") Me.DGVMaterias.Columns.RemoveAt toString. (0)
    Me.DGVMaterias.Columns.Insert (0, my_DGVCboColumn)
    Sub'el sfârşitul creează mai sus grila
    "Următorul text este locul unde vreau
    "Atribuirea sau introduceţi codul de dă-mi Q
    "My_DGVCbocolumn obiect q este în q DGVMaterias XQ cred ca nu ar trebui să
    "Se referă la Agregar_Requisitos Sub CboRequisitoColumnPrivate ()
    SQuery Dim Ca String = ""
    Dim Ca String = Negocio.Conexion sConexion
    Ca Ds_Datos setul de date noi Dim
    KROW Dim Ca Integer = 0
    Dim aux ca şir
    Încercaţi r Dim Ca Integer = 0 Pentru a KROW Pentru Me.DGVMaterias.RowCount - 1
    aux = Me.my_DGVCboColumn.Items (KROW). toString
    r = Ctype (aux, integer)
    sQuery = "spi_spsatbrequisito_asignatura" & Codul & "" & R & ""
    Ds_Datos = Accesar_Datos.GetDataSet (sQuery, sConexion)
    Următorul KROW
    Prinde ex ca excepţie
    MsgBox (ex.Message, MsgBoxStyle.Critical, "Eroare")
    TryEnd Sub acest scop, "mulţumesc în avans

  12. Mod spune:

    Hei. Multumesc pentru acest post de util. Am fost de gând nebun încercând să ghicească ca la o alienare diferit pentru fiecare coloană. Oricum, am pus codul corespunzător în caz de încărcare de forma care are DataGrid şi îmi dă eroare. I-am spus că mă refer la un obiect care nu există. Oricine stiu de ce este aceasta? Poate că ar trebui să pună codul de procedură într-un alt caz, diferit? Mulţumesc.

  13. Mel86 a spus:

    Buna ziua .. Sper că aţi citit acest comentariu .. Aş dori să ştiu care a detinut DataGrid prinde nu mi. ID-ul să faceţi clic pe client.

    Elemplo ... dacă mă uit la oamenii care trăiesc în locul X şi-mi sunt 2 din DataGrid, pentru a vă da dublu clic pe celulă de număr record de text am ma umplut cu datele. Ce face este că-mi dea 2 de înregistrări de date de căutare regustro ultima nu prima sau a treia .. MULTUMIM folosi un ciclu, în cazul în C1_CellDoubleClick (DataGrid)
    Pentru ca integer x = 0 Pentru a (C1.RowCount - 2)
    C1.Item Label3.Text = (0, x). Valoarea
    Următor

  14. Enrique spune:

    Buna ziua! Sunt nou la DataGridView,
    Eu lucrez cu Visual Stuio 2008,

    Întrebarea mea este:

    Am un DataGridView si am transmitere a datelor prin intermediul unui "PictureBox" (produs, preţ, şi catidad total)
    CLICK pentru a da imaginea 1, celulele umplute cu un "ImputBox" L-am întrebat cât de mult şi face ca operaţiunea (pret * = sumele totale)

    Dar ...

    Pentru a face acelaşi lucru cu imaginea urmatoare, sau cu aceeaşi imagine, datele de care am mereu puse în acelaşi rând!

    Aşa cum am să vă pot da pentru fiecare k data de imagini CLCK mă ocupa rând, care este ...?

    Ar aprecia foarte mult această contribuţie!

  15. Mombiela Jaime spune:

    Mulţumesc mult.
    Exemple foarte bune.

  16. Jose spune:

    Salutări prieten, mulţumesc pentru codul

  17. Fernando Caceres Illanes Guillermo spune:

    Multe mulţumiri pentru intrare, pentru zile şi vin în căutarea pentru un exemplu, se potriveste codul meu şi compila foarte bine ..

  18. Jordi spune:

    Mă întreb dacă DataGridView de control vă permite să grup mai multe rânduri, cu un câmp comun. Pot sa fac?

    Mulţumiri

  19. Marcelo spune:

    Am o îndoială CU GRIDWIEV, SCHIMBA interogarea şi eu nu încărcaţi grilă pe ecran care poate fi acesta ma afecteaza ce?

    Salutari si multumiri

Comentariu