单击gridview某一列弹出详细信息

DataGridView单击一行可以获得改行的详细信息,但是GridView不能直接单击获取改行信息,需要在绑定数据时,为每一行定义单击事件,功能实现如下:

1.在gridview的RowDataBound()事件中定义某一列的单击事件
protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowType == DataControlRowType.DataRow)//判断单击行是否为数据行
            {
  DataRowView row = (DataRowView)e.Row.DataItem;
                e.Row.ID = GridView1.DataKeys[e.Row.RowIndex]["PKID"].ToString();//PKID为唯一能够标识一条记录的字段
                if (e.Row.ID != null && row != null)
                {
                    e.Row.Cells[1].Attributes.Add("id", "billid");
                    string url = "../revFreight/FreightBillView.aspx?billid=" + e.Row.Cells[3].Text;//第三列为订单号,唯一标识一条记录的键值
                    e.Row.Cells[1].Attributes.Add("onclick", "openview('" + url + "')");
                }
            }

        }
2.在javascript中定义openview(url)
function openview(url) {
        window.open(url, '__scmhubCloseWindow', 'width=950,height=670, top=50,left=50, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no');//打开一个新页面
 或者:
  window.showModalDialog(url, '__scmhubCloseWindow', 'width=950,height=670, top=50,left=50, toolbar=no, menubar=no, scrollbars=no, resizable=yes,location=no, status=no');//弹出新窗体
    }

你可能感兴趣的:(GridView)