To bind a class to an ASP.NET GridView column, you typically use a TemplateField. Here are the steps to do this:
1. Create a Class: First, create a class that represents the data structure you want to bind to the GridView column. For example:
```csharp
public class Product
{
public int ProductID { get; set; }
public string ProductName { get; set; }
public decimal Price { get; set; }
}
```
2. Define GridView and TemplateField: In your ASP.NET page, define a GridView control and the TemplateField for the column you want to bind with the class. Set the ItemTemplate to display the property from the class. For example:
```html
<asp:GridView ID="GridView1" runat="server">
<Columns>
<asp:TemplateField HeaderText="Product ID">
<ItemTemplate>
<asp:Label Text='<%# Eval("ProductID") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Product Name">
<ItemTemplate>
<asp:Label Text='<%# Eval("ProductName") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="Price">
<ItemTemplate>
<asp:Label Text='<%# Eval("Price") %>' runat="server" />
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
```
3. Data Binding: In your code-behind file (C#), bind the GridView to a List of your class. For example:
```csharp
protected void Page_Load(object sender, EventArgs e)
{
if (!IsPostBack)
{
List<Product> products = new List<Product>
{
new Product { ProductID = 1, ProductName = "Product 1", Price = 19.99M },
new Product { ProductID = 2, ProductName = "Product 2", Price = 29.99M },
// Add more products as needed
};
GridView1.DataSource = products;
GridView1.DataBind();
}
}
```
This code will bind the GridView columns to the properties of the `Product` class. You can extend this example by adding more columns and classes as needed for your specific scenario.