这样不太好吧?那样使用起来觉得很麻烦。不如使用ToolTip属性来的方便

解决方案 »

  1.   

    那就使用Titlein itemdatabindere.Item.Cells[2].Attributes.Add("title","详细信息");
      

  2.   

    需要显示的是这条记录的一个表格,比较复杂,还要应用一些样式,用ToolTip好像不是太好。
      

  3.   

    或者使用
    Text='<%#Show(DataBinder.Eval(Container.DataItem,"value"))%>' title='<%#DataBinder.Eval(Container.DataItem,"value")%>'
    public void Show(object obj)
    {
    string str=obj.Tostring();
    return str.substring(0,10)+"....";
    }
      

  4.   

    类似于这一种:首先显示一个列表:
    ID    ENGINEER   NAME       Sex    Department
    1      Zhang     张三        男    部门1
    2       Liu       刘某       女    部门2当鼠标移动到1时,出现一个表格
         ID:          1
         ENGINEER:    Zhang
         Name          张三
         Sex           男
    ..............

      

  5.   

    在javascript的OnMouseOver事件中,执行一个javascript函数,将要显示的内容作为参数传递过去
    在这个javascript函数中,直接将参数里的内容显示到指定的表格
      

  6.   

    把每个详细表格 先取出来,放在层里,隐藏起来,
    等鼠标挪动到相应的条时显示相应的层。
    可以在DataGrid里模板列里放置<asp:Panel...>
      

  7.   

    具体做法你可以参考下面的一个页面以及他实现的方法(纯js的)非常有用的:
    http://www.dynamicdrive.com/dynamicindex5/popinfo.htm
      

  8.   

    比如点击单元格的一个 linkbutton 来显示detail 内容,
    aspx 大概如:
    <ItemTemplate><asp:LinkButton  ID="lnkShow" CausesValidation=False Runat="server" OnClick="ShowMsg" CommandName='<%# DataBinder.Eval(Container, "DataItem.ID") %>'>
    <span title="Click to show " class="elide-label" style="width:400;cursor:hand">
    <%# DataBinder.Eval(Container, "DataItem.MsgTitle").ToString().Trim()%>
    </span>
    </asp:LinkButton></ItemTemplate>在 ShowMsg 里实现, 大概如:
    public void ShowMsg(object sender, EventArgs e)
    {
    LinkButton lnkShow = (LinkButton)sender;
    TableCell td = (TableCell)lnkShow.Parent;
    string key = lnkShow.CommandName.ToString(); if(ViewState["ShowMsg" + key] == null) {
    DSMessages.MessagesRow row = (DSMessages.MessagesRow)dsLargerMsg.Messages.Select("ID =" + key)[0]; TextBox txt = new TextBox();
    txt.ID = "txt_" + key;
    txt.CssClass = "msgContent";
    txt.ReadOnly = true;
    txt.TextMode = TextBoxMode.MultiLine; 
    txt.Text = row.Msg.Trim(); 
             //这里显示你的内容
    Panel pnlMsg = new Panel(); 
    pnlMsg.ID = "lab_" + key;
    pnlMsg.CssClass = "msgBackground";
    pnlMsg.Controls.Add(txt); td.Controls.Add(pnlMsg);
    string strScript= @"
    <script language=javascript>
    var txt = document.getElementById(""{0}"")
    if(screen.width == 1024)
    txt.style.width = 620;
    else
    txt.style.width = 380;
    </script>";
    td.Controls.Add(new LiteralControl(string.Format(strScript, lnkShow.ClientID.Replace("lnkShow", "")+"txt_" + key)));}
    见效果
    http://www.me65.com/Pages/Message/Messages.aspx