如何将GRIDVIEW选定行的内容显示在TEXTBOX,要实现以下功能
页面左侧是一个GRIDVIEW,只显示了标题字段,我想点击其中一行后,在右边的4个TEXTBOX里显示数据表中的其他内容,标题字段已经做了链接,谢谢!

解决方案 »

  1.   

    首先设置DataKeyNames属性:
    <asp:GridView ID="GridView1" runat="server" DataKeyNames="field1,field2,field3,field4">然后:protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
       this.TextBox1.Text = this.GridView1.SelectedDataKey["field1"].ToString();
       this.TextBox2.Text = this.GridView1.SelectedDataKey["field2"].ToString(); 
       this.TextBox3.Text = this.GridView1.SelectedDataKey["field3"].ToString(); 
       this.TextBox4.Text = this.GridView1.SelectedDataKey["field4"].ToString();  
    }
      

  2.   

    首先设置DataKeyNames属性:
    <asp:GridView ID="GridView1" runat="server" DataKeyNames="field1,field2,field3,field4">标题列用<asp:ButtonField CommandName="Select"  DataTextField="标题字段" />然后:protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
    {
       this.TextBox1.Text = this.GridView1.SelectedDataKey["field1"].ToString();
       this.TextBox2.Text = this.GridView1.SelectedDataKey["field2"].ToString(); 
       this.TextBox3.Text = this.GridView1.SelectedDataKey["field3"].ToString(); 
       this.TextBox4.Text = this.GridView1.SelectedDataKey["field4"].ToString();  
    }
      

  3.   

    还是没反映啊,麻烦帮我看一下,刚学习,很困难谢谢了
    public partial class _Default : System.Web.UI.Page
    {
        protected void Page_Load(object sender, EventArgs e)
        { 
           
                string conn = ConfigurationSettings.AppSettings["strConn"].ToString();            SqlConnection con = new SqlConnection(conn);
                con.Open();
                SqlDataAdapter myCommand = new SqlDataAdapter("newsList", con);
                DataSet myDataSet = new DataSet();
                //填充DataSet     
                myCommand.Fill(myDataSet);
                //关闭链接   
                GridView1.DataSource = myDataSet;
                //绑定     
                GridView1.DataBind();
          
       
           
        }
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            this.TextBox1.Text = this.GridView1.SelectedDataKey["biaoti"].ToString();
            this.TextBox2.Text = this.GridView1.SelectedDataKey["fabuzhe"].ToString();
            this.TextBox3.Text = this.GridView1.SelectedDataKey["shijian"].ToString();
            this.TextBox4.Text = this.GridView1.SelectedDataKey["neirong"].ToString();  
        }
    }
      

  4.   

    protected void Page_Load(object sender, EventArgs e)
        { 
           if(!IsPostBack)
            {
                string conn = ConfigurationSettings.AppSettings["strConn"].ToString();            SqlConnection con = new SqlConnection(conn);
                con.Open();
                SqlDataAdapter myCommand = new SqlDataAdapter("newsList", con);
                DataSet myDataSet = new DataSet();
                //填充DataSet     
                myCommand.Fill(myDataSet);
                //关闭链接   
                GridView1.DataSource = myDataSet;
                //绑定     
                GridView1.DataBind();
          
           }
           
        }
        protected void GridView1_SelectedIndexChanged(object sender, EventArgs e)
        {
            
            this.TextBox1.Text = this.GridView1.SelectedDataKey["biaoti"].ToString();
            this.TextBox2.Text = this.GridView1.SelectedDataKey["fabuzhe"].ToString();
            this.TextBox3.Text = this.GridView1.SelectedDataKey["shijian"].ToString();
            this.TextBox4.Text = this.GridView1.SelectedDataKey["neirong"].ToString();  
        }
    }
      

  5.   

    别忘了注册事件处理程序:
     <asp:GridView ID="GridView1" runat="server" DataKeyNames="id,name,sex,deptid" OnSelectedIndexChanged="GridView1_SelectedIndexChanged"  >标题列用<asp:ButtonField CommandName="Select"  DataTextField="标题字段" />protected void Page_Load(object sender, EventArgs e)
        { 
           if(!IsPostBack)
            {
                //查询数据,绑定GridView
               //因为每次回传都会先执行Page_Load,然后才是其他事件处理程序,如果每次回传都重新绑定,那就没效果了
           }
           
        }