图片地址:http://www.cvbbs.cn/attach.aspx?attachid=2567如上图所示,我怎么获取DataGridCustomer被选择行(即黄色背景行)每列的值,即客户代码的值,传递给下面代码ID。 代码如下:  private void DataGridCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
  {
   if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
   {
    e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ffffcc'");
    e.Item.Attributes.Add("onclick","window.open('ShowCustomer.aspx?id=??','main','height=500,width=470,top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no')");
    e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=c");
   }
  } 向各位大虾求救,期待回复,先谢谢了!

解决方案 »

  1.   

    private void DataGridCustomer_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
      {
       if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem)
       {
        string a=e.Item.Cells[0].Text;
        e.Item.Attributes.Add("onmouseover","c=this.style.backgroundColor;this.style.backgroundColor='#ffffcc'");
        e.Item.Attributes.Add("onclick","window.open('ShowCustomer.aspx?id=a','main','height=500,width=470,top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no')");
        e.Item.Attributes.Add("onmouseout","this.style.backgroundColor=c");
       }
      }
    我是这样写,但还是不可以。id=a。不是当前行某一列的值
      

  2.   

    e.Item.Attributes.Add("onclick","window.open('ShowCustomer.aspx?id=a','main','height=500,width=470,top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no')");这里你都写死了是a了。你断点看看string的这个A是多少
    string a=e.Item.Cells[0].Text;
    就是这个。
      

  3.   

    那我改怎么写,我断点看了,id="a",而实际上a=771。771是DataGrid列表中最上面一行id的值,不知道怎么去获取其他行的值。
      

  4.   

    我想通过onclick事件,弹出新的窗口,显示该行记录的详细信息,但必须获取相应的id编号。请大虾帮忙
      

  5.   

    e.Item.Attributes.Add("onclick","window.open('ShowCustomer.aspx?id="+a+"','main','height=500,width=470,top=0, left=0, toolbar=no, menubar=no, scrollbars=yes, resizable=no,location=no, status=no')");
    你试试看
      

  6.   

    e.Item.Cells[0].Text
    不就是这个嘛要不你把第一列设成DataKeys
    用DataGrid1.DataKeys[(int)e.Item.ItemIndex]
      

  7.   

    搞定,谢谢!youyuan1980。就是少了两个"+"连接符号