DataGridView

Това е мощен контрол за показване на данни на екрана, разполага с много опции, опитайте се да видите един прост пример и след това спомена, че аз използвам, когато се работи с DataGridView.

 "Свърже с базата данни и получаване на документацията в DataTable
 Дим CNN В Ню SqlConnection на
 cnn.ConnectionString = _
 "Източник на данни = .. \ SQLEXPRESS; Първоначално Каталог = BasedePrueba;
 Интегрирана сигурност = True "

 "Някои линии на този кодекс трябва да бъдат разделени
 "Не Ekl въведете ширина на екрана.

 cnn.Open ()

 Дим DS като нови DataSet
 За Дим DA Като Нови SqlDataAdapter

 Дим SQL като низ
 SQL = "SELECT * FROM SaldosClientes"
 da.SelectCommand = за Ню SqlCommand (SQL, Си Ен Ен)
 da.Fill (DS)
 cnn.Close ()

 "С тази линия да получа DataTable
 "(DT) с получените записи
 Дим DT като DataTable = ds.Tables (0)

 "Сега може да възложи DataTable (DT) DataGridView1
 DataGridView1.DataSource = DT

С по-горе код достатъчно да попълните нашата първа DataGridView. Сега ще видим какво друго можем да правим с този контрол.

 "Определят какъв шрифт да се използва
 DataGridView1.Font = _
     Ню Drawing.Font ("Tahoma", 8, FontStyle.Regular, GraphicsUnit.Point

 "Какво колони са видими
 DataGridView1.Columns ("ID"). Видим = False
 DataGridView1.Columns ("кодекс"). Видим = True
 DataGridView1.Columns ("RazonSocial"). Видим = True
 DataGridView1.Columns ("дата"). Видим = True
 DataGridView1.Columns ("Баланс"). Видим = True

 "Каква ще бъде от порядъка на колоните
 DataGridView1.Columns ("ID"). DisplayIndex = 0
 DataGridView1.Columns ("кодекс"). DisplayIndex = 1
 DataGridView1.Columns ("RazonSocial"). DisplayIndex = 2
 DataGridView1.Columns ("дата"). DisplayIndex = 3
 DataGridView1.Columns ("Баланс"). DisplayIndex = 4

 "Ширина на колони
 DataGridView1.Columns ("ID"), ширина = 100
 DataGridView1.Columns ("кодекс") ширина = 100
 DataGridView1.Columns ("RazonSocial"). Ширина = 100
 DataGridView1.Columns ("дата"), ширина = 100
 DataGridView1.Columns ("Баланс") ширина = 100

 "Заглавката на колоната
 DataGridView1.Columns ("ID"). HeaderText = "Id"
 DataGridView1.Columns ("кодекс"). HeaderText = "Код"
 DataGridView1.Columns ("RazonSocial"). HeaderText = "Име"
 DataGridView1.Columns ("дата"). HeaderText = "Дата"
 DataGridView1.Columns ("Баланс"). HeaderText = "Баланс"

 "Сближаването на клетките във всяка колона
 DataGridView1.Columns ("ID"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

 DataGridView1.Columns ("кодекс"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomLeft

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

 DataGridView1.Columns ("дата"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Баланс"). DefaultCellStyle.Alignment = _
 DataGridViewContentAlignment.BottomRight

 Alinación "заглавна част на всяка колона
 DataGridView1.Columns ("ID"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

 DataGridView1.Columns ("кодекс"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomLeft

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

 DataGridView1.Columns ("дата"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomLeft

 DataGridView1.Columns ("Баланс"). HeaderCell.Style.Alignment = _
 DataGridViewContentAlignment.BottomRight

 "Форматът на числови колони
 DataGridView1.Columns ("Баланс"). DefaultCellStyle.Format = "# # # # 0,00"

Е, аз прекарах много време в търсене за всички тези настройки, за да оставите DataGridView, както ми хареса. Надявам се тя да е полезна и аз ще се качването по-скоро за този голям контрол на данни.

22 коментара към "DataGridView"

  1. [...] 12, 2009 Днес искам да покажа един прост пример за това как да се свърже с SQL Server, и да попълните една DataGridView, но без писане на нито един ред код. Това означава, че ще влачите и пускате [...]

  2. Хосе Луис Перес казва:

    Благодаря ти,

    Тези примери са много добри, особено с простотата, които обясняват.

    Поздравления.

  3. Хосе казва:

    Много добра вашето обяснение, но аз се чудя, ако можете да ми помогнете, за да видим как да го направя в обратен ред, т.е., като данните в един DataGridView (Пример 1 ред и 4 колони), добавяне на нов ред в база данни същите характеристики (1 ред, 4 колони), много оценявам вашата помощ. Благодаря.

  4. David C. казва:

    Благодаря за примера на пълнене и конфигурация на datagridview служи добре.

  5. Родриго Касерес казва:

    Поздравления, ясен и прост ... модел за подражание

  6. Hacker Гонсало ROOT казва:

    GRAIAS Информация за този много добре обяснено много ви служи за вашата помощ.

    :-)

  7. Александър казва:

    Хей Благодаря на следната информация така, отлично обяснени и ФУНКЦИОНАЛНО истината, която ние използваме програмиращите DataGrid често

  8. Хуан Osuna казва:

    Здравейте имам един въпрос, който gnaws към мен в продължение на дни,
    и разберете индекс на реда, че съм избран в datagridview.
    да формират и да го препредават, дори ме научи пълни подробности във формата Отивам луд

  9. DarkRex казва:

    Много добър
    но аз го правя като да знаете как да валидиране на данни, вписани в клетка от колона datagridview тип е дата и maskeditbox.

  10. Наталия Гомес казва:

    И за да направи всички видове на валидирането

  11. Sanclemente Джино казва:

    Здравейте всички ... Q Бих искал да ми помогне, защото аз работя с Q Q съдържа обект datagridview, DataGridViewComboBoxColumn кодират щях да видя дали мога помагат намерите грешка или не ви липсва Q: Лично за Sub BtnAddRequisito_Click (ByVal подателя като System.Object, ByVal д Като System.EventArgs) Дръжки BtnAddRequisito.Click за
    , Дим Като String = Negocio.Conexion sConexion
    Тъй като новите DataSet Дим Ds_datos
    , По String Dim sQuery CboRequisitoColumn.Name = "Тема"
    Me.DGVMaterias.Columns.Add (CboRequisitoColumn)
    sQuery = "на SELECT asg_codigo като код, описание ОТ asg_nombre като spsatbasignatura където asg_semestre <" и Me.CMBSemestre.Text Ds_datos = Accesar_Datos.GetDataSet (sQuery, sConexion)
    my_DGVCboColumn.DataSource = Ds_datos.Tables (0)
    my_DGVCboColumn.Name = "Данни"
    my_DGVCboColumn.DisplayMember = Ds_datos.Tables (0). колони ("описание"). ToString
    my_DGVCboColumn.ValueMember = Ds_datos.Tables (0). колони ("номер"). ToString Me.DGVMaterias.Columns.RemoveAt (0)
    Me.DGVMaterias.Columns.Insert (0, my_DGVCboColumn)
    Край Sub'el по-горе, създава мрежа
    "По-долу е мястото, където искам
    "Присвояване или въведете кода дава ми Q
    "My_DGVCbocolumn обект Q е в рамките Q DGVMaterias XQ Мисля, че не трябва да
    "Обърнете се към Под Agregar_Requisitos CboRequisitoColumnPrivate)
    SQuery Дим като String = ""
    , Дим Като String = Negocio.Conexion sConexion
    Тъй като новите DataSet Дим Ds_Datos
    KROW Дим като Integer = 0
    Дим AUX като низ
    Опитайте Дим R, като цяло число = 0 до KROW За Me.DGVMaterias.RowCount - 1
    на AUX за = Me.my_DGVCboColumn.Items (KROW). ToString
    R = CType (AUX, Integer)
    sQuery = "spi_spsatbrequisito_asignatura на" & кодекс & "" & R & ""
    Ds_Datos = Accesar_Datos.GetDataSet (sQuery, sConexion)
    Следваща KROW
    Хвани бивш По изключение
    MsgBox (ex.Message, MsgBoxStyle.Critical, "Грешка")
    Под TryEnd Крайните благодаря предварително

  12. Режим казва:

    Ей. Благодаря за този пост като полезна. Бях луд се опитва да отгатне на отчуждение по различен начин на всяка колона. Както и да е, сложих на съответния код в товарното случай на форма, която има DataGrid и ми дава грешка. Казах, че съм се отнасят до един обект, който не съществува. Някой знае ли защо това е така? Може би трябва да поставите кода в процедурата за друго събитие, различно? Благодаря.

  13. Mel86 каза:

    Здравейте .. Надявам се, че сте прочели този коментар .. Бих искал да знам кой собственост DataGrid хвана ме не. ID на клиента да кликнете.

    Elemplo ... ако аз търся хора, които живеят на мястото на X и мен, са 2 в DataGrid, за да ви дам, щракнете два пъти върху клетка от рекорден брой виждате, ме изпълни с данните. Това, което прави, е, че ми даваш 2 записа търсене на данни през миналата regustro не е първи или трети. БЛАГОДАРЯ използва цикъл в за събитие C1_CellDoubleClick (DataGrid)
    За Х като цяло число = 0 (C1.RowCount - 2)
    C1.Item Label3.Text = (0, X). Стойност
    До

  14. Енрике казва:

    Здравейте! Аз съм нов за DataGridView,
    Работя с Visual Stuio 2008,

    Моят въпрос е:

    Имам DataGridView и съм предаване на данните чрез "PictureBox" (продукт, цена, и общо catidad)
    Кликнете, за да се даде на 1-ви образ, клетки, пълни с "ImputBox" Попитах колко и прави операция (* цена = общите суми)

    Но ...

    Да направи същото със следващото изображение, или с едно и също изображение, данни, аз винаги се поставя в един ред!

    Както мога да дам на вас за всеки път, к на изображенията CLCK ми да се справят с реда, който е ...?

    Оценили високо този принос!

  15. Mombiela Хайме казва:

    Благодаря Ви много.
    Много добри примери.

  16. Хосе казва:

    Поздрави приятел, благодаря за кода

  17. Фернандо Касерес Гилермо Illanes казва:

    Много благодаря за вход, за дни и се търси за пример, то да отговаря на моя код и събират много добре ..

  18. Jordi казва:

    Чудя се, ако datagridview контрол позволява да се групират няколко реда с общо поле. Мога ли да направя?

    Благодаря

  19. Марсело казва:

    Изпитвате съмнения С GRIDWIEV, Промяна на заявка и аз не зареждайте решетка на екран, който може да ми се отрази това КАКВО??

    Поздрави и благодарение

    • Елисей казва:

      ако съм зададете малко по-проблема и ще ви покаже ми въпросната линия може да бъде в състояние да помогне.

Коментар