问题1:我用下面这个语句实现点击datagrid控件上的“编辑”列的“编辑”链接就可以弹出该行记录内容。但是现在我发现不管鼠标点在datagrid的哪个单元格上,都会弹出窗口,这样传给窗口参数就有可能出错了,所以还要请教有哪位知道如何处理吗?请多多指教
private void Datagrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
{
e.Item.Attributes.Add("onClick","window.open('ShowContent.aspx?ID="+e.Item.Cells[0].Text+"','_blank','top=70,left=150,width=560,height=300')");
}
问题2:在用上面语句绑定完datagrid之后,我再想在这个datagrid上添加排序事件时,发现被这个弹出窗口的事件挡住了,总是弹出窗口的函数先起作用,请教该如何做?

解决方案 »

  1.   

    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.Cells[0].Add("onClick","window.open('ShowContent.aspx?ID="+e.Item.Cells[0].Text+"','_blank','top=70,left=150,width=560,height=300')");}
    }
      

  2.   

    foreach( DataGridItem e in dg1.Items)
    {
    TableCell tablecell;
    Button btnEdit; tablecell = new TableCell();
    btnEdit = new Button(); tablecell = e.Cells[3];      <-----------这里是"编辑"按钮所在的列
    btnEdit = (Button)tablecell.Controls[0]; btnEdit.Attributes.Add( "onclick" , "你要干的坏事" );
    }