在ItemDataBound事件中:
public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
String ContractName = DataBinder.Eval(e.Item.DataItem, "ContractName").ToString();
String ContractID = DataBinder.Eval(e.Item.DataItem, "ContractID").ToString();
e.Item.Style["cursor"] = "hand";
e.Item.ToolTip = ContractName;
e.Item.ForeColor=Color.Blue;
e.Item.Attributes.Add("ondbclick","window.open('Details.aspx?ContractID="+ContractID+"','_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,revisable=no,left=100,top=0,width=600,height=450'); return false;window.opener=null;window.close();");
}
}
public void MyDataGrid_OnItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
if(e.Item.ItemType == ListItemType.Item || e.Item.ItemType == ListItemType.AlternatingItem)
{
String ContractName = DataBinder.Eval(e.Item.DataItem, "ContractName").ToString();
String ContractID = DataBinder.Eval(e.Item.DataItem, "ContractID").ToString();
e.Item.Style["cursor"] = "hand";
e.Item.ToolTip = ContractName;
e.Item.ForeColor=Color.Blue;
e.Item.Attributes.Add("ondbclick","window.open('Details.aspx?ContractID="+ContractID+"','_blank','toolbar=no,location=no,directories=no,status=no,menubar=no,scrollbars=yes,revisable=no,left=100,top=0,width=600,height=450'); return false;window.opener=null;window.close();");
}
}
要知道在 cell 里双击的话,接受事件的是 cell 而不是 datagrid, 效果试试就知道了
就算做出来了,怎么保证用户的双击总是“正确”的那?