小弟用DataGrid读出数据库里面的几个表的一些数据---学生ID,姓名,学院,系别,学期,成绩
想双击学生ID能弹出一个页面显示学生的详信息,不知道怎么做.请帮帮!!!!!!!!!!

解决方案 »

  1.   


    取出DataGrid当前行对应的DataTable的值。
    如果DataGrid绑定的是DataView,
    DataRowView drv = (DataRowView)this.BindingContext[this.ds,this.ds.Tables[0].TableName].Current;
    //如果绑定的是DataTable
    //DataRow dw = (DataRow)this.BindingContext[this.dataGrid1.DataSource,this.dataGrid1.Memeber].Current;
    获取到drv就可以改数据,
    DataRow dw = drv.Row; // 得到DataRow,
    DataTable dt = dw.Table;//得到DataTable
    DataSet ds = dt.DataSet; http://www.syncfusion.com/FAQ/WinForms/FAQ_c44c.asp
      

  2.   

    1 学生ID列 设置成 “选择”列,并绑定上相应的数据;
    2 创建datagrid的ItemCommand事件;

    private void DataGrid1_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
    {
    if(e.CommandName == "Select")
    {
    string studentID=e.Item.Cells[1].ToString();//e.Item.Cells[1]对应当前行的学生ID列,这个你根据你自己添加列的顺序来完成
    Session["studentID"]=studentID.ToString();

    this.Response.Redirect("~/details.aspx");
    }
    }
    在details.aspx中
    string studentID = Session["studentID"].ToString();
      

  3.   

    上面的代友不知道你能不能看得懂,要是你不懂,那我教你一个控件的方法。
    你在DG里点开DG的属性,里面有一个超链接列
    你将超链接列的设置一下属性(这里的设置与你一般的绑定列一样)
    然后有一个超链接列的文本框(这里你写入你想点的对应数据库的那个具体列名,你的是学生ID)
    接下去是一个能数对话框,你这样写111.aspx?ID={0}   这里设你要打开的新页为111.aspx
    祝你好运