0

嗨,感谢您的关注。

我有一个 GridView,它的数据源设置为一个返回 ArrayList 的外部类。现在,在 aspx 页面中,我有一个 TemplateField,并且 Text 属性设置为

Text = '<%#Eval("Name") %>'

除了名称总是被截断,即使数据库中的名称具有更大的值。我猜gridview/databinding出于某种原因截断了名称?无论如何,我想在悬停时显示全名,所以在 _RowDataBound 事件上,我有 e.Row.Cells[2].ToolTip = something,我不确定那个“东西”应该是什么。

在这种情况下我也可以使用 Eval 吗?如果是这样,语法会是什么样的?如果没有,我有什么选择?

4

1 回答 1

1

很少玩CSS设置tooltip会解决这个问题

代码背后:

   protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
    {   for(int i =0;i <GridView1.Rows.Count;i++)
        {
           Label lblName = (Label)GridView1.Rows[i].Cells[1].FindControl("lblname");
           lblName.ToolTip = "This is my toolTip";//  You can set tooltip as Fullname  
        }
    }

默认.aspx:

   <asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false" CssClass="gridMyClass"
        Width="125px" onrowdatabound="GridView1_RowDataBound">
        <Columns>
            <asp:TemplateField HeaderText="ID">
                <ItemTemplate>
                    <asp:Label ID="Label1" runat="server" Text='<%#Eval("Id") %>'></asp:Label>
                </ItemTemplate>
            </asp:TemplateField>
            <asp:TemplateField HeaderText="Name">
                <ItemTemplate>
                  <asp:Label ID="lblname" CssClass="myTxtClass"  runat="server" Text='<%#Eval("name")%>'></asp:Label>

                </ItemTemplate>
            </asp:TemplateField>
        </Columns>
    </asp:GridView>

CSS:

.myTxtClass{
    display:inline;
    position: relative;
    text-decoration:none;
    cursor:pointer;
}

.myTxtClass:hover:before{
    border: solid;
    border-color: red transparent;
    border-width: 6px 6px 0 6px;
    bottom: 20px;
    content: "";
    left: 50%;
    position: absolute;
    z-index: 99;
}


.myTxtClass:hover:after{
    background-color: red;
    opacity:0.7;
    border-radius: 5px;
    bottom: 26px;
    color: #fff;
    content: attr(title);
    left: 20%;
    padding: 5px 15px;
    position: absolute;
    z-index: 98;
    width: 220px;
} 

截屏:

工作示例截图

于 2012-12-12T10:37:28.520 回答