我把DataGrid中的列设置成普通的BoundColumn列,然后再用
if(e.Item.Cells[2].Text.ToString().Length>25)
{
e.Item.Cells[2].Text=e.Item.Cells[2].Text.Substring(0,25)+"…";
}
方法来设置不会出任何问题;可是,我只要把列设置成别的,比如HyperLinkColumn,再用上面的方法,e.Item.Cells[2].Text就没有办法获得值.请问名位,这个是什么原因呢
小弟在线等哦!
if(e.Item.Cells[2].Text.ToString().Length>25)
{
e.Item.Cells[2].Text=e.Item.Cells[2].Text.Substring(0,25)+"…";
}
方法来设置不会出任何问题;可是,我只要把列设置成别的,比如HyperLinkColumn,再用上面的方法,e.Item.Cells[2].Text就没有办法获得值.请问名位,这个是什么原因呢
小弟在线等哦!
解决方案 »
- 就是费解!asp:button加了UseSubmitBehavior属性后居然不执行服务器端代码了?
- .net下Jquery问题
- 200分求教:<%=WebResource("zzz")%>这倒底是哪个类的什么方法
- powereasy cms 1.1.0.2哪里有开源代码和相关文档
- 两个日历,第一个onchange 后,第二个日历自动加一年
- 弹出式窗口问题!(解决给分)
- 郁闷啊!! 为什么单击DataGrid控件的Cancel按钮引发的是DeleteCommand事件???
- 利用.NET的缓存技术——输出缓存(Output Cache),可以很大提高网站的性能么?
- 请问如下asp代码应该在网页的什么位置
- 一个看似简单绝不简单的问题,高手请进!
- Excel数据导入到数据库中并在DataGrid中显示问题,达人请入!!
- 搜了一早上不满意,字符串分组问题,请高手
也可能是
e.Item.Cells[2].Controls[1].Text
你看看是那个?
不过还是要谢谢你!
也可能是
e.Item.Cells[2].Controls[1].Text这两都不可以,谢谢了啊!
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>
楼主是第几列,第一列用Cells[0]以此类推