现在的位置: 首页 > 综合 > 正文

ASP.NET系列之点滴积累(一):GridView中获取选定行中数据

2013年09月10日 ⁄ 综合 ⁄ 共 1103字 ⁄ 字号 评论关闭

上次做一个网站的时候,遇到一个问题: 在绑定了数据的GridView 中,我需要把选定的行中数据读取出来保存到一个结构体中以便将这些数据传递到下一个页面,问了一些朋友,找的些资料,最终没有结果,一个朋友说可以把数据行的ID传递到下一个页面时再进行绑定,当时一想,这办法可以,但当我去做的时候才知道当我得到上面页面传递的ID后还需要进行绑定太麻烦了,我相信通过结构体的方式传递到下页更方便,所以我一直在找方法,今天早上才发现,获取某行数据并不难:

首先添加一模版列用来选定或者获取当前选中行的行号,然后通过GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;这样的方式获取想要的数据单元。只需把没个单元数据保存为一个结构体即可。

注意的是,我在设置模版列时把GridView的CommandName属性设置为select(这是默认值),这样才能获取行号。

protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
 
{     
        ProviderDetail pdetail 
= new ProviderDetail();
        pdetail.sGameName 
= GridView1.Rows[e.NewSelectedIndex].Cells[0].Text;
        pdetail.sAreaName 
= GridView1.Rows[e.NewSelectedIndex].Cells[1].Text;
        pdetail.sServerName 
= GridView1.Rows[e.NewSelectedIndex].Cells[2].Text;
        pdetail.nMaxNum 
= GridView1.Rows[e.NewSelectedIndex].Cells[3].Text;
        pdetail.sPrice 
= GridView1.Rows[e.NewSelectedIndex].Cells[4].Text;
        pdetail.sMinDeal 
= GridView1.Rows[e.NewSelectedIndex].Cells[5].Text;            

        Session[
"PD"= pdetail;
        Response.Redirect(
"~/ProviderDetails.aspx");
}

抱歉!评论已关闭.