string title=(你读出来的数据);
if (title.Lenght>10)
{
   title=title.Substring(0,10)+"...";
}
title现在就是10 个字长加三个点了。

解决方案 »

  1.   

    select 内容 = left(content,5) from [table]更加好的
    "select tablename.1,tablename.2,tablename.3,"+
     " case  when len(tablename.4) < 16 then tablename.4 else substring(tablename.4, 0, 15) + '...' end as tablename.4 "+ " from tablename ";
      

  2.   

    同意楼上
    一般substring 即可
      

  3.   

    string title=(你读出来的数据);
    if (title.Lenght>10)
    {
       title=title.Substring(0,10)+"...";
    }
    else
    {
     title=ds.t..................
    }
      

  4.   

    这里,我把我的问题说清楚一点
    我是把视图绑定给repeater的,这中间好象没有可以处理的过程
    所以我考虑是不是可以通过对DataBinder.eval()的第三个参数,进行控制以达到这样的效果
    source:void Page_Load(object s,EventArgs e)
        {
            strConn="Provider=Microsoft.Jet.OLEDB.4.0;Data Source="+Server.MapPath("data.mdb");
            myConn=new OleDbConnection(strConn);
            sql="Select  Id,Title from [News] where ClassID=1 order by Id desc";
            OleDbDataAdapter myAda=new OleDbDataAdapter(sql,myConn);
            myAda.Fill(myDS,"tt");
            myRep.DataSource=myDS.Tables["tt"].DefaultView;
            myRep.DataBind();
        }
      

  5.   

    就算你是给REPEATER绑  无论是你自己做表做VIEW还是用你的DATASET里得到最初你总要有个数据总结的过程吧。
    一开始你就设计好再绑进去吧。
    你也可以在DATASET里加上一个列 就是你修正好的定长STRING或者你在数据准备好以后,遍历一次所有数据,修改一下。
    string title=(你读出来的数据);
    if (title.Lenght>10)
    {
       title=title.Substring(0,10)+"...";
    }
    title现在就是10 个字长加三个点了。
    很简单也很好用。
      

  6.   

    public static string ShowData(object Data,int DataLength)
    {
    string DataRet = System.Text.RegularExpressions.Regex.Replace(Data.ToString(),"<[^>]+>",""); if(DataRet.Length > DataLength)
    DataRet =  DataRet.Substring(0,DataLength-2)+"..";
    else
    DataRet =  DataRet;
    if(DataRet.IndexOf("<")>-1)
    DataRet = DataRet.Remove(DataRet.LastIndexOf("<"),DataRet.Length-DataRet.LastIndexOf("<"));
    return DataRet;
    }