• Робота з DataGridView у C#

    2016-04-29 15:53:25

    Поділитися в Facebook Поділитися ВКонтакте Поділитися в Однокласниках

    Методи роботи із стандартним об'єктом DataGridView (відображення та обробка табличних даних) в Microsoft Visual Studio.

    Перевірка на наявність певної колонки в DataGrid View (DGV):

    if (my_dgv.Columns.Contains("some_column")
    {
    // код
    }

    Додавання рядка в DGV:

    int rowNumber = dgv.Rows.Add();
    dgv.Rows[rowNumber].Cells["ID"].Value = textBox1.Text;

    Перед цим потрібно додати колонки в DGV:

    dgv.Columns.Add("ID","id");
    // ID - ім'я колонки
    // id - заголовок (Header Text)

    Можна при додаванні рядка зразу передати його значення:

    dgv.Rows.Add(textBox1.Text);

    Видалення рядка:

    if (dgv.SelectedRows.Count > 0)
    {
     dgv.Rows.RemoveAt(dgv.SelectedRows[0].Index;
    }

    Встановлення поточної комірки:

    dgv_storage.CurrentCell = dgv_storage[1,0];
    // 1 - колонка, 0 - рядок

    Пошук рядка в DGV (з фільтрацією):

    private void tbx_serch_TextChanged (object sender, Eventargs e)
    {
     dgv_glossary.CurrentCell = null;
     for (int i=0; i<dgv_glossary.RowCount; i++)
     {
      if (dgv_glossary.Rows[i].Cells["title"].Value.ToString().ToLower().Contains(tbx_search.Text.ToLower()))
      {dgv_glossary.Rows[i].Visible=true;}
      else {dgv_glossary.Rows[i].Visible = false;}
     }
    }

    Очистити виділення:

    dgv1.ClearSelection();

    Налаштування ширини колонки у DGV:

    // явне задання ширини
    dgv_people.Columns["some_field"].Width = 20;
    
    // ширина - на всю доступну область
    dgv_people.Columns["some_field"].AutoSizeMode = DataGridViewAutoSizeColumnMode.Fill;

    Слідкування за курсором миші (індекси комірок):

    Point point = new Point();
    private void dataGridView_CellMouseEnter (object sender, DataGridViewCellEventArgs e)
    {
     point.x = e.ColumnIndex;
     point.y = e.RowIndex;
    }