Архив Тэгов: DataGridView

.Net Программирование

Как добавить всплывающую подсказку ToolTip в ячейку таблицы DataGridView

Понадобилось в некоторые ячейки(DataGridViewCell) таблицы(DataGridView) добавить всплывающую подсказку(ToolTip)… думал как обычно придется создавать новый объекты для добавления ToolTip, а оказалось все намного проще, у каждой ячейки есть свойство ToolTipText … в него пишем наш текст подсказки и вуаля, все работает как часы)…
Пример:

dataGridView1[5, 3].ToolTipText = "Это мегокрутая всплывающая подсказка";

В примере у нас используется таблица dataGridView1 и мы ячейке в 5 столбике и 3 строке добавляем всплывающую подсказку «Это мегокрутая всплывающая подсказка» (без кавычек разумеется)).

.Net Программирование

Автоматическое изменение высоты DataGridView по количеству строк C#

Использовал компонент таблицы DataGridView и не обнаружил там такого свойства, как автоматическое изменение высоты таблицы, по количеству строк, решил сам написать метод, который будет выравнивать высоту, по отображенным строкам.
Для этого, для начала создадим и подпишемся на обработчики событий добавления и удаления новой строки, делается это с помощью следующего кода:

    this.dataGridView1.RowsAdded += new System.Windows.Forms.DataGridViewRowsAddedEventHandler(this.dataGridView1_RowsAdded);
    this.dataGridView1.RowsRemoved += new System.Windows.Forms.DataGridViewRowsRemovedEventHandler(this.dataGridView1_RowsRemoved);
 
private void dataGridView1_RowsAdded(object sender, DataGridViewRowsAddedEventArgs e)
{
    // если в таблицу добавлена новая строка, то изменить высоту таблицы
    ChangeHeight();
}
 
private void dataGridView1_RowsRemoved(object sender, DataGridViewRowsRemovedEventArgs e)
{
    // если в таблице удалена строка, то изменить высоту таблицы
    ChangeHeight();
}

Ну а теперь, собственно напишем метод, который будет менять высоту

private void ChangeHeight()
{
    // меняем высоту таблицу по высоте всех строк
    dataGridView1.Height = dataGridView1.Rows.GetRowsHeight(DataGridViewElementStates.Visible) +
                       dataGridView1.ColumnHeadersHeight;
}