private void RunGrid_ItemCommand(object source, System.Web.UI.WebControls.DataGridCommandEventArgs e)
{
    PanelTool.Visible = true;

    //PanelTool.Style["TOP"]=e.Item.Cells[0].Style["TOP"];当然这句错了,可我不知道该怎么写

}
我想实现 在选中一行时,panel显示在此行第一列的右下方。
不知道怎样写代码,请求大家帮助!并且我的页面定位不是GridLayout

解决方案 »

  1.   

    在ItemCommand事件中,首先先判断当前的命令是不是"select".
    如果是的话,创建一个Panel,在里面添加你要显示的东西就可以了。
    例如:
    Lable lbText = new Lable();
    lbText.Text = "测试!";Panel pn = new Panel();
    pn.Controls.Add( lbText );
      

  2.   

    晕!看错了。
    嗯!至少你应该在客户端可以知道这个"选中行第一单元格"的ID才可以吧!
    自己在服务端随便给它取个名字吧!
    然后就在客户端用javascript获取这个"选中行第一单元格"对象的Style.Top属性了。
    然后就是处理这个Panel的定位了。
      

  3.   

    我全是在服务器端写的.服务器端无法实现吗?
    回:SpyX(每天进步一点点)。我需要的是position,panel出现在选中行第一个单元格的右下角。
    不会只能用javascript实现吧?
      

  4.   

    无法实现,你想嘛,怎么可能会在服务端知道 "选中行第一单元格" 的定位呢?肯定要借助 客户端的javascript 嘛!
      

  5.   

    服务器当然知道啦  e.Item.Cells[0] 就是第一个单元格呀
      

  6.   

    我说的是"选中行第一单元格"的 style.top 啊,style.left 等属性的定位。在服务器上不能得到的,需要在客户端使用javascript获取。