代码如下:功能是实现实现双击GridView中的一行 页面跳转
*******************************************************************
protected void GridView1_RowDataBound(objectsender,GridViewRowEventArgs e)
    {
        //如果是绑定数据行 
         if (e.Row.RowType == DataControlRowType.DataRow)
        {
 
            int count = GridView1.Rows.Count;
             for (int i = 1; i < count; i++)
             {
                string ID = GridView1.DataKeys[i].Value.ToString();
                GridView1.Rows[i].Attributes.Add("ondblclick", "window.location.href('ItemCustListRedirect.aspx" + "?      CustomerCode=" + ID "')");    
             }
  }
*******************************************************************
问题是 双击最后一行的时候不跳转?
    原因我也发现了 就是不知道怎么改
    假如数据绑定完后一共 5行
    则GridView1.Rows.Count =4   //0,1,2,3,4行
    因为程序里面i < count 所以双击最后一行的时候 i<4 就没选种最后一行
    而我把条件改为i <=count 的话 ,就可以选到,
    但是GridView1.Rows[i].Attributes.Add 这又会报错. 怎么改才好啊 高手门指点一下,或者有别的什么方法?谢谢了
 

解决方案 »

  1.   

    每在操作GridView1.Rows的时候,就在数字那+1,比如i  < count +1 
    试试。
      

  2.   

    为什么 RowDataBound 里面你还要加个循环呢
    我有的是vs2003 这样写没事int i=0;
    private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
    {
    if(e.Item.ItemType==ListItemType.Item||e.Item.ItemType==ListItemType.AlternatingItem){

    e.Item.Attributes.Add("ondblclick", "window.location.href( 'ItemCustListRedirect.aspx')");
    i++;
    }