# DataGridView Control (Windows Forms)

The DataGridView control provides a powerful and flexible way to display data in a tabular format. You can use the DataGridView control to show read-only views of a small amount of data, or you can scale it to show editable views of very large sets of data.

You can extend the DataGridView control in a number of ways to build custom behaviors into your applications. For example, you can programmatically specify your own sorting algorithms, and you can create your own types of cells. You can easily customize the appearance of the DataGridView control by choosing among several properties. Many types of data stores can be used as a data source, or the DataGridView control can operate with no data source bound to it.

The topics in this section describe the concepts and techniques that you can use to build DataGridView features into your applications.

## In This Section

DataGridView Control Overview
Provides topics that describe the architecture and core concepts of the Windows Forms DataGridView control.

Default Functionality in the Windows Forms DataGridView Control
Describes the default appearance and behavior of the Windows Forms DataGridView control when it is bound to a data source.

Column Types in the Windows Forms DataGridView Control
Describes the column types in the Windows Forms DataGridView control used to display data and allow users to modify or add data.

Basic Column, Row, and Cell Features in the Windows Forms DataGridView Control
Provides topics that describe commonly-used cell, row, and column properties.

Basic Formatting and Styling in the Windows Forms DataGridView Control
Provides topics that describe how to modify the basic appearance of the control and the display formatting of cell data.

Displaying Data in the Windows Forms DataGridView Control
Provides topics that describe how to populate the control with data either manually, or from an external data source.

Resizing Columns and Rows in the Windows Forms DataGridView Control
Provides topics that describe how the size of rows and columns can be adjusted automatically to fit cell content or to fit the available width of the control.

Sorting Data in the Windows Forms DataGridView Control
Provides topics that describe the sorting features in the control.

Data Entry in the Windows Forms DataGridView Control
Provides topics that describe how to change the way users add and modify data in the control.

Selection and Clipboard Use with the Windows Forms DataGridView Control
Provides topics that describe the cell, row, and column selection features in the control.

Programming with Cells, Rows, and Columns in the Windows Forms DataGridView Control
Provides topics that describe how to program with cell, row, and column objects.

Customizing the Windows Forms DataGridView Control
Provides topics that describe custom painting DataGridView cells and rows, and creating derived cell, column, and row types.

Performance Tuning in the Windows Forms DataGridView Control
Provides topics that describe how to use the control efficiently to avoid performance problems when working with large amounts of data.

Default Keyboard and Mouse Handling in the Windows Forms DataGridView Control
Describes how users can interact with the DataGridView control through a keyboard and a mouse.

Differences Between the Windows Forms DataGridView and DataGrid Controls
Describes how the DataGridView control improves upon and replaces the DataGrid control.

## Reference

DataGridView
Provides reference documentation for the DataGridView control.

BindingSource
Provides reference documentation for the BindingSource component. The DataGridView control and the BindingSource component are designed to work closely together.