datagrid 里的单元格里的超出宽度的,怎么隐藏掉且把鼠标放上去后,全部显示出来

解决方案 »

  1.   

    <ItemTemplate>
    <asp:HyperLink Runat="server" NavigateUrl='<%#"../viewdatagrid.aspx?id="+DataBinder.Eval(Container, "DataItem.id")+"&title="+DataBinder.Eval(Container, "DataItem.title")%>' Target="_blank" >
    <%# CutString(DataBinder.Eval(Container,"DataItem.title").ToString(),3)%>
    </asp:HyperLink>
    </ItemTemplate>
    后台
    public string CutString(string inputString,int len)
    {
    ASCIIEncoding ascii = new ASCIIEncoding();
    int tempLen = 0;
    string tempString = "";
    byte[] s= ascii.GetBytes(inputString);
    for(int i=0;i<s.Length;i++)
    {
    if((int)s[i]==63)
    {
    tempLen+=2;
    }
    else
    {
    tempLen+=1;
    }
    try
    {
    tempString+=inputString.Substring(i,1);
    }
    catch
    {
    break;
    }
    if(tempLen>len)
    {
    break;
    }
    }
    byte[] mybyte = System.Text.Encoding.Default.GetBytes(inputString);
    if(mybyte.Length>len)
    {
    tempString+="...";
    }
    return tempString; }
      

  2.   

    把鼠标放上去后,全部显示出来,就用tooltip属性就可以
      

  3.   

    在模板中放一个label,设这个label的样式为,内容style="Width:100px ;OVERFLOW: hidden" ,在用tooltip 显示全部内容
      

  4.   

    seesea125(一一)给的这个方法很好,连中文也处理了..+50,呵呵