首页 诗词 字典 板报 句子 名言 友答 励志 学校 网站地图
当前位置: 首页 > 教程频道 > 网站开发 > asp.net >

gridview点击某行获取值的有关问题

2012-03-23 
gridview点击某行获取值的问题protected void GridView1_SelectedIndexChanging(object sender, GridViewS

gridview点击某行获取值的问题
protected void GridView1_SelectedIndexChanging(object sender, GridViewSelectEventArgs e)
  {
  try
  {

  this.TextBox5.Text = "4";

  this.TextBox4.Text = this.GridView1.Rows[e.NewSelectedIndex].Cells[2].Text.ToString();
  }
  catch (Exception ex)
  {
  Console.WriteLine(ex.Message);
  }
  }

  protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
  {

  if (e.Row.RowType == DataControlRowType.DataRow)
  {
  //鼠标移动到每项时颜色交替效果
  e.Row.Attributes["onmouseover"] = "e=this.style.backgroundColor;this.style.backgroundColor='#cccccc'";
  e.Row.Attributes["onmouseout"] = "this.style.backgroundColor=e";
  //设置悬浮鼠标指针形状为"小手"  
  e.Row.Attributes["style"] = "Cursor:hand";
  //鼠标点击某行即选中某行
  e.Row.Attributes["onclick"] = ClientScript.GetPostBackClientHyperlink(this.GridView1, "Select$" + e.Row.RowIndex);
  }

为什么我点击gridview某一行,this.TextBox4.Text获取不到值

[解决办法]
GridView1.Rows[GridView1.SelectedIndex].Cells[0].Text;

[解决办法]

探讨

GridView1.Rows[GridView1.SelectedIndex].Cells[0].Text;

[解决办法]
你是不是事件搞错了
[解决办法]
很简单,用RowDataBound事件,将我代码中的控件换成你的就Ok了
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("onmouseover", "thiscolor = this.style.backgroundColor,this.style.backgroundColor='LightCyan'");
e.Row.Attributes.Add("onmouseout", " this.style.backgroundColor = thiscolor");
e.Row.Style["cursor"] = "hand";
}

if (e.Row.RowType == DataControlRowType.DataRow)
{
e.Row.Attributes.Add("OnDblClick", "javascript:window.opener.document.Form1.jhbh.value='" + e.Row.Cells[0].Text.ToString().Trim() + "';" +
"window.opener.document.Form1.Button1.click();" +
"window.close();");
}
}
[解决办法]
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
{
this.TextBox4.Text = this.GridView1.Rows[e.NewSelectedIndex].Cells[2].Text.ToString();//这行应该放到这里面才对吧??并确定cell[2]是不是你想传递值的行
}

热点排行