今天上班的时候就碰到这个问题,郁闷了半天!!
本来想想反正是DataGrid里面的列,还不一样么,结果问题出来了,列里面的字符太多,把DataGrid弄得N难看,更郁闷中...
慢慢思考问题出在那里,后来我干脆重新做一遍,结果发现,要是把列设定成BoundColumn,然后再用:
if(e.Item.Cells[2].Text.ToString().Length>25)
{
e.Item.Cells[2].Text=e.Item.Cells[2].Text.Substring(0,25)+"…";
}
这一段代码来处理,是完全正确的!
后来再把列设定成HyperLinkColumn,问题跟刚开始一样!
得出结论:上面的方法只能对列为BoundColumn的时候才有用(说得不恰当的地方,请指出!)!
但是要怎么要处理呢,虽然说不知道问题所在是件最郁闷的事,要是知道问题所在,不知道解决也是件N郁闷的事,我在想,是不是人品出了问题,嘻嘻!!
干脆找了个人品计算器来玩了下,分数相当高,还有84分,不错啊!!
想玩的来玩玩啊!!
后来第一时间想到了CSDN,哈哈.不到半个小时就有好多人帮我回答!
后来一个朋友帮我解决了,方法如下:
后台添加:
protected string FormatString(object o,int length)
{
string s = o.ToString();
if(s.Length > length)
return s.Substring(0,length) + "
";
return s;
}
前台改变列为模板列:
<asp:TemplateColumn>
<ItemTemplate>
<asp:HyperLink id=HyperLink1 runat="server" NavigateUrl='<%# DataBinder.Eval(Container, "DataItem.News_ID", "NewsShow.aspx?ID={0}") %>' Text='<%# FormatString(DataBinder.Eval(Container, "DataItem.News_Subject"),10) %>' Target="_blank">
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
真是太感谢他了!!
CSDN的地址:http://community.csdn.net/Expert/topic/4893/4893536.xml?temp=.2914545
本来想想反正是DataGrid里面的列,还不一样么,结果问题出来了,列里面的字符太多,把DataGrid弄得N难看,更郁闷中...
慢慢思考问题出在那里,后来我干脆重新做一遍,结果发现,要是把列设定成BoundColumn,然后再用:




后来再把列设定成HyperLinkColumn,问题跟刚开始一样!
得出结论:上面的方法只能对列为BoundColumn的时候才有用(说得不恰当的地方,请指出!)!
但是要怎么要处理呢,虽然说不知道问题所在是件最郁闷的事,要是知道问题所在,不知道解决也是件N郁闷的事,我在想,是不是人品出了问题,嘻嘻!!
干脆找了个人品计算器来玩了下,分数相当高,还有84分,不错啊!!
想玩的来玩玩啊!!
后来第一时间想到了CSDN,哈哈.不到半个小时就有好多人帮我回答!
后来一个朋友帮我解决了,方法如下:

















CSDN的地址:http://community.csdn.net/Expert/topic/4893/4893536.xml?temp=.2914545