How to DataGridView Template

In certain scenarios, you may require more extensive control over the appearance of DataGridView rows than what is offered by the various cell style properties. In such cases, utilizing a row template allows for enhanced customization of both the visual presentation and behavior of rows, surpassing the capabilities provided by the RowsDefaultCellStyle property.

DefaultCellStyle property

By utilizing a row template, you gain the ability to set any desired properties of the DataGridViewRow, including the DefaultCellStyle property. This empowers you to exercise precise control over the appearance and behavior of individual rows. When working with external data, the rows are generated automatically, but they are based on the row template that can be assigned as an instance of your custom row type.


To illustrate this concept, consider the following code example. This code demonstrates how to utilize a row template to specify an initial row height, a minimum row height, and a specific BackColor for rows in the DataGridView. By setting these properties within the row template, you can ensure consistent and tailored visual characteristics for the rows.

The following code example illustrates how to use the row template to specify an initial row height and a minimum row height and BackColor.

Full Source VB.NET
Imports System.Data.SqlClient Public Class Form1 Private Sub Button1_Click(ByVal sender As System.Object, ByVal e As System.EventArgs) Handles Button1.Click Dim row As DataGridViewRow = Me.DataGridView1.RowTemplate row.DefaultCellStyle.BackColor = Color.Bisque row.Height = 35 row.MinimumHeight = 20 Dim connectionString As String = "Data Source=.;Initial Catalog=pubs;Integrated Security=True" Dim sql As String = "SELECT * FROM Authors" Dim connection As New SqlConnection(connectionString) Dim dataadapter As New SqlDataAdapter(sql, connection) Dim ds As New DataSet() connection.Open() dataadapter.Fill(ds, "Authors_table") connection.Close() DataGridView1.DataSource = ds DataGridView1.DataMember = "Authors_table" End Sub End Class