| 编程中国 | 业界新闻 | 技术文章 | 视频教程 | 下载频道 | 程序源码 | 个人空间 | 编程论坛
全能ASP/PHP/ASP.NET主机,支持月付专业 MSSQL 数据库空间,支持月付专业 MySQL 数据库空间,支持月付学习型 ASP/PHP/ASP.NET 主机 30元/年
高端软件开发 = 年薪十万不是梦   
共有 832 人关注过本帖
标题:Label文本的长度大于表的宽度,想让大于的那部份用省略号代替,怎么办??
收藏  订阅  推荐  打印
寒行
Rank: 2
来自:厦门软件学院
等级:注册会员
帖子:50
积分:700
注册:2008-6-29
Label文本的长度大于表的宽度,想让大于的那部份用省略号代替,怎么办??

我建了一个表,表宽固定,但只要Label文本的内容过长,它就会把表撑开.我想各位高手帮忙,能不能让多余的文本用省略号代替.......谢谢了
2008-7-25 09:06
kevintang
Rank: 4
等级:高级会员
威望:5
帖子:594
积分:6783
注册:2008-2-14

substring(参数1,参数2) +"...";
2008-7-25 09:20
寒行
Rank: 2
来自:厦门软件学院
等级:注册会员
帖子:50
积分:700
注册:2008-6-29
回复 2# kevintang 的帖子

不好意思,刚才没说清楚.我是用DataList然后到数据库取数据,你看以下面的代码:
   <table style="width: 470px; height: 170px">
                    <tr>
                        <td rowspan="2" style="width: 180px; height: 170px">
                        </td>
                        <td style="width: 290px; height: 25px; background-image: url(images/290.jpg);">
                            新闻资讯</td>
                    </tr>
                    <tr>
                        <td style="width: 290px; height: 145px; vertical-align: text-top;">
                            <asp:DataList ID="dlnews" runat="server">
                            <ItemTemplate>
                            <asp:Label ID="lblnews" runat="server" Text=""><a href="daohang.ascx?newsID=<%#Eval("newsID") %>"><%#Eval("newsname") %></a></asp:Label>
                            </ItemTemplate>
                            </asp:DataList>
                            </td>
                    </tr>
                </table>

代码页是:
  string sqlstr = Convert.ToString(ConfigurationManager.ConnectionStrings["sqlserver"]);
        SqlConnection conn = new SqlConnection(sqlstr);
        conn.Open();
        SqlDataAdapter da = new SqlDataAdapter("select * from news order by newstime desc",conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        dlnews.DataSource = ds;
        dlnews.DataBind();


因为表的宽度我想固定,而其中一条数据很长,所以不的不省略号.麻烦帮我看看,谢谢......
2008-7-25 11:05
贝蕾
Rank: 2
等级:注册会员
帖子:62
积分:742
注册:2008-6-26

我是基本上没有听懂你的意思,如果你不想用省略号,但是不想撑开的话,你可以固定lable的大小。
2008-7-25 15:14
寒行
Rank: 2
来自:厦门软件学院
等级:注册会员
帖子:50
积分:700
注册:2008-6-29
回复 4# 贝蕾 的帖子

就比如有这么一段文字:"我是基本上没有听懂你的意思,如果你不想用省略号"
但我希望得到的只是前面的几个显示方试,也就是:"我是基本上没有听懂你的意思,如果你..."
其他的内容我想等用户点进去再看具体内容.谢谢帮忙....
2008-7-26 14:16
ksni56z
Rank: 2
等级:注册会员
帖子:63
积分:804
注册:2008-5-31

这属于表格没有限制宽度 你可以将表格的宽度限制下来 让他的内容多的时候可以自动换行 试试这个代码看看把
<td width="200" height="50" style="table-layout:fixed; WORD-WRAP:break-word; word-break:break-all">!</td>加在你的表格里试试
或者你写个字符串截取 也可以规定label里超过的字用点代替
2008-7-26 16:40
hebingbing
Rank: 12Rank: 12Rank: 12
来自:泰山学院
等级:版主
威望:10
帖子:3032
积分:32164
注册:2007-10-22

string a="我是基本上没有听懂你的意思,如果你不想用省略号";
stirng b=a.substring(0,17)+"……";

【www.bcsnjd.cn】编程少年基地:提供在线视频教程、电子图书、程序源码等众多资源,欢迎访问
本人免费做asp.net,c#,asp,vb等毕业设计。要求想法极具创新QQ:491131231
2008-7-26 19:43
yuzhou
Rank: 2
来自:湖北
等级:注册会员
帖子:122
积分:1332
注册:2007-1-21

在前台用>"<%#Eval("newsname")%> ,Eval()返回的有String类型重载,你可以用楼上的方法,逻辑判断后,可用Substring()
2.也可在后天些一个方法,例:
string CutString(string source)
    {
        if (source.Length > 10)
        {
            source = source.Substring(0, 10) + "...";
        }
        return source;
    }
前台调用:<%# CutString(Eval("newsname"))%>
其实这两钟本质是一样的

机遇是给有准备的人
2008-7-27 21:02
寒行
Rank: 2
来自:厦门软件学院
等级:注册会员
帖子:50
积分:700
注册:2008-6-29
回复 8# yuzhou 的帖子

不好意思...昨天没上班,所以没看到.....我看了,感觉方法很不错,可是我是刚学的,代码看的懂,但是不知道要把代码加在我的代码中的哪个位置,能不能说清楚点,或者帮我加在上面的代码中?????
谢谢
2008-7-28 10:46
yms123
Rank: 12Rank: 12Rank: 12
等级:版主
威望:72
帖子:7967
积分:81334
注册:2004-7-17

string sqlstr = Convert.ToString(ConfigurationManager.ConnectionStrings["sqlserver"]);
        SqlConnection conn = new SqlConnection(sqlstr);
        conn.Open();
        SqlDataAdapter da = new SqlDataAdapter("select * from news order by newstime desc",conn);
        DataSet ds = new DataSet();
        da.Fill(ds);
        foreach(DataRow dr in ds.Tables[0].Rows)
        {
                string temp=dr["newsname"].toString();
                if(temp.length>100)
                   temp=temp.substring(0,100)+"……";
                dr["newsname"]=temp;
        }
        dlnews.DataSource = ds;
        dlnews.DataBind();
在执行DataBind将数据绑定到DataList之前

http://www.lxzhcn.net
临时域名:http://yms126.1.suhai.com.cn/
版块版主招募中
网站论坛发帖无问题,欢迎发帖。
2008-7-28 14:24
共有 831 人关注过本帖
关于我们 | 广告合作 | 编程中国 | 清除Cookies | Archiver | WAP | TOP

编程中国 版权所有,并保留所有权利。鲁ICP备08000592号
Powered by Discuz, Processed in 0.071590 second(s), 9 queries.
Copyright©2004-2008, BCCN.NET, All Rights Reserved