7.10. Creating Custom Columns in a Windows Forms DataGrid
Problem
You need to create a
DataGrid
having
columns with custom formatting and attributes.
Solution
Use the
DataGridTableStyle
class.
The sample code contains two event handlers:
Form.Load
Sets up the sample by creating a
DataAdapter
and using it to fill aDataTable
with data from the ProductID, ProductName, and Discontinued columns of the Products table in the Northwind database. TheDataGridTableStyle
class is used to define a data grid containing three custom columns—two text boxes and one check box—corresponding to the ProductID, ProductName, and Discontinued columns. Finally, the default view of the ProductsDataTable
is bound to the data grid on the form.- Update
Button.Click
Uses the
DataAdapter
created in theForm.Load
event handler to update changes made to the ProductsDataTable
back to the database.
The C# code is shown in Example 7-18.
Example 7-18. File: CustomColumnsInDataGridForm.cs
// Namespaces, variables, and constants using System; using System.Configuration; using System.Windows.Forms; using System.Data; using System.Data.SqlClient; private SqlDataAdapter da; private DataTable dt; // . . . private void CustomColumnsInDataGridForm_Load(object sender, System.EventArgs e) { // Create the DataAdapter. String selectCommand = "SELECT ProductID, ProductName, Discontinued " + "FROM Products"; da = new SqlDataAdapter(selectCommand, ConfigurationSettings.AppSettings["Sql_ConnectString"]); // Use CommandBuilder to handle ...
Get ADO.NET Cookbook now with the O’Reilly learning platform.
O’Reilly members experience books, live events, courses curated by job role, and more from O’Reilly and nearly 200 top publishers.