我做的一个通用查询,把数据从数据库里取出来了,用的是一个gridview保存,但我想点击里面的数据,能够在我定义的textbox里显示,但只显示一个数字?比如说:一个学生表有学生姓名,学生编号,成绩等.
我点学生编号,textbox里显示学生编号,点成绩显示成绩,但在label上永远显示对应的学生姓名...
该如何实现?

解决方案 »

  1.   

    加入一个选择列,在其SelectedIndexChanged事件中使用如下代码:string mydate = gvData.Rows[gvData.SelectedIndex].Cells[0].Text;其中gvData就是一个GridView控件,Cells[0]中的“0”表示第几列,应视情况而定。
      

  2.   

    可以在RowDataBound(2005)方法里面写代码,给lable赋值,给每单元格写单击事件
      

  3.   


    例如设置为:cells[0]就得必须选某行的第一列吧。不知道lz是这个意思么
      

  4.   

    在datarowbound中  给 每一个  cell 加  onclick 事件?
    我想可以实现,只做个提示,希望对你有用。
    有问题, 你再提就是了
      

  5.   

    最好在绑定的时候设置DataKeys(最好是表中的关键字)
    然后在SelectedIndexChanged方法中,通过获取该Dataitem的关键字的值
    然后,通过该值new一个对象
    将该对象的相关属性赋给TextBox就OK了。
      

  6.   

    在gridview设置DataKeyNames属性,一般是主键id,然后在SelectedIndexChanged事件中通过GridView1.SelectedRow.RowIndex得到所选行的索引,再通过GridView1.DataKeys[刚才得到的索引][想得到的列名].ToString()就可以得到你想要的值了.
      

  7.   

       做一个提示:
     protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)
            {   
                //定义选中的控件
                e.Row.Cells[4].Attribute.Add("title",e.Row.Cells(4).Text);            //为控件添加一个事件参数            
    ....
                   }
        }
      

  8.   

    在datarowbound中  给 每一个  cell 加  onclick 事件? 
      

  9.   


    就是gvData.SelectedIndex这一条呀。