DataGrid中字符串长度的设置
来源:互联网 发布:八爪鱼采集器 知乎 编辑:程序博客网 时间:2024/06/02 23:26
对于<asp:BoundColumn></asp:BoundColumn> 绑定列中的字符串长度的限制方法如下:
在ItemDataBound事件中添加如下代码,即可实现字符串长度的限制
private void DataGrid1_ItemDataBound(object sender, System.Web.UI.WebControls.DataGridItemEventArgs e)
...{
if ((e.Item.ItemType == ListItemType.Item) ||
(e.Item.ItemType == ListItemType.AlternatingItem) ||
(e.Item.ItemType == ListItemType.SelectedItem) )
...{
string strText = e.Item.Cells[1].Text;
e.Item.Cells[1].ToolTip = strText;
if(strText.length > 5)
...{
strText = strText .Substring(0,5);
e.Item.Cells[1].Text = strText + "...";
}
}
}
...{
if ((e.Item.ItemType == ListItemType.Item) ||
(e.Item.ItemType == ListItemType.AlternatingItem) ||
(e.Item.ItemType == ListItemType.SelectedItem) )
...{
string strText = e.Item.Cells[1].Text;
e.Item.Cells[1].ToolTip = strText;
if(strText.length > 5)
...{
strText = strText .Substring(0,5);
e.Item.Cells[1].Text = strText + "...";
}
}
}
由于该方法对<asp:HyperLinkColumn></asp:HyperLinkColumn>的列并不起作用,因此用下面的方法来解决此问题:
在.cs文件中添加如下函数:
protected string FormatString(object o,int length)
...{
string s = o.ToString();
if(s.Length > length)
return s.Substring(0,length) + "";
return s;
}
...{
string s = o.ToString();
if(s.Length > length)
return s.Substring(0,length) + "";
return s;
}
在aspx页面做如下设置:
<asp:TemplateColumn>
<HeaderTemplate>
新闻标题
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# DataBinder.Eval (Container,"DataItem.newsid","admin_add_vnews.aspx?id={0}")%>'
Text='<%# FormatString(DataBinder.Eval(Container,"DataItem.title"),5)%>'
Target="_blank"
ToolTip='<%# DataBinder.Eval(Container,"DataItem.title")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
<HeaderTemplate>
新闻标题
</HeaderTemplate>
<ItemTemplate>
<asp:HyperLink ID="HyperLink1" runat="server" NavigateUrl='<%# DataBinder.Eval (Container,"DataItem.newsid","admin_add_vnews.aspx?id={0}")%>'
Text='<%# FormatString(DataBinder.Eval(Container,"DataItem.title"),5)%>'
Target="_blank"
ToolTip='<%# DataBinder.Eval(Container,"DataItem.title")%>'>
</asp:HyperLink>
</ItemTemplate>
</asp:TemplateColumn>
通过上面介绍的两种方法即可解决此类问题。
- 关于DataGrid中字符串长度的设置
- DataGrid中字符串长度的设置
- 字符串中最长的回文字符串长度
- Datawindow.net中设置字符串的显示,超过长度部分显示为。。。
- 返回序列化后的json字符串长度设置,web.config中
- EasyUI DataGrid 时间格式化、字符串长度截取
- ext中设置datagrid单元格的高度
- WPF中设置DataGrid的一些样式
- JQuery 中 dataGrid 设置行的高度
- Flex的DataGrid中设置单元格跳转。
- oracle 中获取字符串的长度并截取长度
- C# 中数组和字符串的长度
- java中字符串的最大长度?
- java中计算字符串长度的方法
- JS中计算字符串的长度
- js中判断字符串的长度
- 字符串中最大的回文长度
- C语言中字符串的长度
- Core Java 中的一个 StaticTest 类
- VS.net2003安装两个问题及解决方案
- 给eclipse 做个日历的插件
- 解析.Net框架下的序列化机制
- struts2
- DataGrid中字符串长度的设置
- Win Forms开发时,如何合理释放验证窗体
- asp.net(C#)服务器绝对路径转换成URL相对路径[修改]
- 浪漫的道歉
- Spring中的面向对象查询
- 关于未命名空间
- fedora8下载地址,用flashget下载超快
- UML
- 得到本机所有 IP 地址