C# gridview

在触发databind事件时,可以控制绑定的数据

e.Row.RowType  是指当前行的类型
DataControlRowType 是GridView的行的类型集合 , 其中的DataRow是数据绑定行
这个判断语句的意思就是判断当前行是不是数据绑定行。
GridView OnRowDataBound="gvUnits_RowDataBound"
OnRowDataBound  通过单词意思我们可以认识到:【当】【行】【数据绑定】时。
比如我们有一个gridview控件 他的数据行不确定 我们希望当行数为奇数的时候当前行的背景是一个颜色 当行数为偶数的时候当前行的背景是另一个颜色 就需要使用这个事件

protected void gvUnits_RowDataBound(Object sender, GridViewRowEventArgs e)
{
            if (e.Row.RowType == DataControlRowType.DataRow)
            {
	    }
}

GridViewRowEventArgs---对象

呈现 GridView控件之前,该控件中的每一行必须绑定到数据源中的一条记录。将某个数据行(用 GridViewRow对象表示)绑定到 GridView控件中的数据以后,将引发 RowDataBound事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时都执行一个自定义例程(如修改绑定到该行的数据的值)。

 

GridViewRowEventArgs对象将被传给事件处理方法,以便您可以访问正在绑定的行的属性。

若要访问行中的特定单元格,请使用 GridViewRowEventArgs对象的 Cells属性。使用 RowType属性可确定正在绑定的是哪一种行类型(标题行、数据行等等)

### GridView控件介绍 C#中的GridView控件用于展示表格数据并提供排序、分页等交互功能[^1]。它是一个强大的工具,可在Windows Forms应用程序中直观地呈现和操作数据。 ### 基本使用方法 以下是一个简单的示例,展示如何在WinForms中使用GridView控件: ```csharp using System; using System.Data; using System.Windows.Forms; namespace GridViewExample { public partial class Form1 : Form { public Form1() { InitializeComponent(); // 创建一个DataTable来存储数据 DataTable dataTable = new DataTable(); dataTable.Columns.Add("ID", typeof(int)); dataTable.Columns.Add("Name", typeof(string)); // 添加一些示例数据 dataTable.Rows.Add(1, "John"); dataTable.Rows.Add(2, "Jane"); // 将DataTable绑定GridView dataGridView1.DataSource = dataTable; } } } ``` ### 功能实现 #### 排序功能 GridView默认支持排序功能,用户可以通过点击列标题对数据进行排序。若要禁用排序功能,可以将`AllowUserToSortColumns`属性设置为`false`。 ```csharp dataGridView1.AllowUserToSortColumns = false; ``` #### 分页功能 要实现分页功能,可以结合`BindingSource`和`BindingNavigator`控件。以下是一个简单的示例: ```csharp BindingSource bindingSource = new BindingSource(); bindingSource.DataSource = dataTable; dataGridView1.DataSource = bindingSource; BindingNavigator bindingNavigator = new BindingNavigator(true); bindingNavigator.BindingSource = bindingSource; this.Controls.Add(bindingNavigator); ``` #### 打印功能 实现GridView打印功能需要理解打印原理,包括HTML生成和浏览器打印调用。一个完整的打印流程包括HTML生成、创建打印页面、JavaScript打印控制、样式自定义、分页处理、打印预览及跨浏览器兼容性考虑。开发者可根据需要调整和优化打印功能,以满足不同业务场景需求[^1]。 ### 问题解决 #### 数据绑定问题 如果数据没有正确显示在GridView中,可能是数据源未正确绑定。确保数据源(如`DataTable`)包含数据,并且`DataSource`属性已正确设置。 #### 列宽调整问题 若列宽不合适,可以通过设置`AutoSizeColumnsMode`属性来自动调整列宽。 ```csharp dataGridView1.AutoSizeColumnsMode = DataGridViewAutoSizeColumnsMode.AllCells; ```
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值