gridview中隐藏超长字符
在gridview中有一列超长,想用....代替超长字符,并且鼠标放在当前位置显示全部字符 --------------------编程问答-------------------- <%#Eval("ID").ToString().Length>15?Eval("ID").ToString().Substring(0,15)+"...":Eval("ID")%> --------------------编程问答--------------------<a href='javascript:void()' title='<%#Eval("ID")%>'>
<%#Eval("ID").ToString().Length>15?Eval("ID").ToString().Substring(0,15)+"...":Eval("ID")%></a> --------------------编程问答-------------------- <%#Eval("name").ToString().Length>15?Eval("name").ToString().Substring(0,15)+"...":Eval("name")%>
或
public string GetSubString(string str, int num)
{
return str.Length > num ? str.Substring(0, num) + "..." : str;
} --------------------编程问答--------------------
设置overflow不知道可以解决不 --------------------编程问答-------------------- 最好的办法是CSS样式中的text-overflow属性来实现,优点:
1省资源
2.实现简单
3.不用考虑全角半角
4.不用担心内容中含有HTML标签截取时会造成HTML标记不完整 --------------------编程问答-------------------- 学习下。。。 --------------------编程问答-------------------- 1、<%#Eval("name").ToString().Length>15?Eval("name").ToString().Substring(0,15)+"...":Eval("name")%>
2、select left(fieldname,length) as fieldnane --------------------编程问答-------------------- 最好的办法是CSS样式中的text-overflow属性来实现
能否给个示例 --------------------编程问答--------------------
<head runat="server">
<title>无标题页</title>
<style>
.dottest{width:100px; overflow: hidden; text-overflow: ellipsis;}
</style>
</head>
<body>
<form id="form1" runat="server">
<asp:GridView ID="GridView1" runat="server" AutoGenerateColumns="false">
<Columns>
<asp:TemplateField>
<ItemTemplate>
<div class="dottest">
<asp:Label ID="Label1" runat="server" Text='<%#Eval("c1") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField>
<ItemTemplate>
<div class="dottest">
<asp:Label ID="Label2" runat="server" Text='<%#Eval("c2") %>'></asp:Label>
</div>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
</form>
</body>
</html>
protected void Page_Load(object sender, EventArgs e)--------------------编程问答--------------------
{
DataTable dt = new DataTable();
dt.Columns.Add("c1");
dt.Columns.Add("c2");
dt.Rows.Add("22222222", "1111111111111111111111111111");
dt.Rows.Add("22222222", "1111111111111111111111111111");
dt.Rows.Add("22222222", "1111111111111111111111111111");
dt.Rows.Add("22222222", "1111111111111111111111111111");
GridView1.DataSource=dt;
GridView1.DataBind();
}
<asp:TemplateField HeaderText="权限" SortExpression="权限">
<ItemTemplate>
<div class= " " title= ' <%# DataBinder.Eval(Container.DataItem, "权限")%> ' style= "overflow:hidden;text-overflow:ellipsis;white-space:nowrap;PADDING-TOP:1px;PADDING-RIGHT:1px;PADDING-LEFT:1px;PADDING-BOTTOM:1px;width:120px; ">
<%# DataBinder.Eval(Container.DataItem,"权限")%>
</div>
</ItemTemplate>
</asp:TemplateField>
我以前解决过这个问题,上面的代码片段就是解决的方法,大概的意思是:你在template中放div,div设置title,title的作用就是当你把鼠标放上去他就会显示内容,然后那个style是为了让显示的内容多了就呈现为“...”,以上。 --------------------编程问答-------------------- 10L不错!~ --------------------编程问答-------------------- 思路10楼已经给出,我们也是这样做的,
前面有几位是截断字符的做法不可取,因为那些内容有可能对用户来说是重要的 --------------------编程问答-------------------- <a href=""#" style="text-decoration:none;" title='Eval("name")'>#Eval("name").ToString().Length>15?Eval("name").ToString().Substring(0,15)+"...":Eval("name")%></a> --------------------编程问答-------------------- 帮顶!!!!!!证明存在 --------------------编程问答--------------------
<asp:TemplateColumn HeaderText="备注">--------------------编程问答-------------------- 请给我分用,谢谢 --------------------编程问答-------------------- 楼主给我加分啊 --------------------编程问答--------------------
<ItemTemplate>
<A title='<%# DataBinder.Eval(Container.DataItem,"VIS_VISTCONTENT") %>' href="#">
<%# CutStr(DataBinder.Eval(Container.DataItem,"VIS_VISTCONTENT"),"..",5) %>
</A>
</ItemTemplate>
</asp:TemplateColumn>
这个 --------------------编程问答--------------------
td{border:1px solid #9fc5d8;padding:4px;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;padding:1px; height:22px;}--------------------编程问答--------------------
<a href="#" style="text-decoration:none;" title='<%# Eval("name")%>'><%# Eval("name").ToString().Length>15?Eval("name").ToString().Substring(0,15)+"...":Eval("name")%></a>
在GridView中增加一个模板列 给这个把这段Code粘进去就 --------------------编程问答-------------------- <%#Eval("ID").ToString().Length>15?Eval("ID").ToString().Substring(0,15)+"...":Eval("ID")%> 您还不结贴?
补充:.NET技术 , ASP.NET