日期:2014-05-18  浏览次数:20852 次

新手求教,关于gridview
想实现功能,在gridview中增加一列,详细信息,点击之后,进入详细信息页面,并显示出此记录对应的详细信息。

------解决方案--------------------

要给Gridview1指定唯一标识列(目的是点击超链接列的时候知道是哪一行,一般是ID),后台的方法是->
Gridview1.DataKeyNames = new string[] { "ID"};

添加一个超链接列,设置CommandName="Select" ,这样就可以触发_SelectedIndexChanged事件。
在Gridview1_SelectedIndexChanged事件内写写如下代码即可知道用户点击的是哪一行
Label1.Text = "ID:" + Gridview1.SelectedDataKey["ID"].ToString();
------解决方案--------------------
前台实现:
<asp:GridView ID="GridView1" runat="server" OnSelectedIndexChanged="GridView1_SelectedIndexChanged" Width="800px" OnRowCommand="GridView1_RowCommand" >

<Columns>
<asp:CommandField HeaderText="详细" SelectText="详细" ShowSelectButton="True">
<HeaderStyle Wrap="False" />
<ItemStyle Wrap="False" />
</asp:CommandField>

</Columns>


<SelectedRowStyle BackColor="Silver" />
</asp:GridView>
后台实现:
protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
{
int i = GridView.SelectedIndex;
int id = GridView.DataKeys[i].Value;
HttpCookie regCodecookie = new HttpCookie("id ");
regCodecookie.Value = Convert.ToInt32(id );
HttpContext.Current.Response.Cookies.Add(regCodecookie);
Response.Redirect("信息.aspx");

}