GridView完全解析

GridViewRow gvr = GridView1.Rows[e.RowIndex];
string id = GridView1.DataKeys[e.RowIndex].Value.ToString();
string ID = e.Keys["ID"].ToString();

 

GridViewRow gvr = GridView1.Rows[e.RowIndex];
gvr.FindControl("txtgvApproveNum")

gvr.FindControl("txtgvApproveNum")
if (e.Row.RowType == DataControlRowType.DataRow)
//当前行是数据绑定行
 


gridview控件中OnRowDataBound属性作用gridview控件中OnRowDataBound属性作用

在行数据绑定完成后,处理一些后事,比如,设置条件格式,大于多少的,字体红色,设置背景什么的,也可以更改一些数据,比如把某一列改成序号,添加一些样式,求总和,总之就是在绑定完数据后根据条件对GRIDVIEW的再改造


OnRowCreated

呈现 GridView 控件之前,必须先为该控件中的每一行创建一个 GridViewRow 对象。在创建 GridView 控件中的每一行时,将引发 RowCreated 事件。这使您可以提供一个这样的事件处理方法,即每次发生此事件时就执行一个自定义例程(如在行中添加自定义内容)。

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



 


问
GridView1.DataKeys是什么?
e.RowIndex是什么含义?
GridView1.DataKeys[e.RowIndex]是一个数组吗?
GridView1.DataKeys[e.RowIndex].Value是什么?
GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString()
与
GridView1.DataKeys[e.RowIndex].Value.ToString()

有什么区别??
举个例子来说吧  你将一个student表绑定到grid上  这个表里有一些字段 包括id  姓名  学号 等等等等  grid的DataKey 属性设置了 datakey=“学号”
下边开始解释问题

GridView1.DataKeys是什么? 

GridView有一个属性是DataKey  当将数据表绑定到GridView时,设置数据表的一列为DataKey  即GridView.datakey=“学号”
msdn讲DataKey解释为  获取 DataKeyCollection 对象,它存储数据列表控件中每个记录的键值。 
其实 就是将 [学号] 这列作为列关键字 列标识 

e.RowIndex是什么含义? 

能够使用e.rowindex 说明 应该是grid的row相关事件  其中的e就是事件的触发者 也就是当前行 e.rowindex 也就是当前行的索引 行号 第几行的“几”

GridView1.DataKeys[e.RowIndex]是一个数组吗?
 
GridView1.DataKeys是一个数组 存储的是数据表中的一列的值  这一列 就是设为DataKeys的一列 即[学号]这一列 
GridView1.DataKeys[e.RowIndex]则是学号这一列这个数组中的一个值  索引为当前行的行号  
也就是说GridView1.DataKeys[e.RowIndex]是当前行所对应的数据行这一行 的 学号这个datakey

GridView1.DataKeys[e.RowIndex].Value是什么?

这里就是当前行所对应的数据行这一行 的 学号这个datakey 所存储的值 即当前选择这个学生的学号

GridView1.DataKeys[GridView1.SelectedIndex].Value.ToString() 
与 
GridView1.DataKeys[e.RowIndex].Value.ToString()  的区别

是不同事件中获取当前选中行行号的不同方法  
在grid的行相关事件中  可以直接用e来得到当前行 但是在非grid行事件中 作为e的事件触发对象就不是行 所以要用GridView1.SelectedIndex 来获取当前选中行的行号
 
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值