有没有办法告诉radgrid截断其列中的字符串长度?我使用radgrid显示来自sql视图的数据,该视图有几个(很多很多)字段,所以我想使用autogeneratefields =“true”而不是设置所有gridboundcolumns,和/或在itemdatabound中进行截断事件或类似事件。
我想我也可以这样问一下,从视图中获取数据并让字段只返回前x个字符的好方法是什么?正如我所说,有很多字段,所以我不想编写我的dal中的每一列,并做一个子字符串或类似的东西.......
有什么想法吗?
谢谢!
生锈
答案 0 :(得分:0)
不确定我的问题是否有意义,但是如果有人遇到类似的情况,我最终会遍历我的对象的属性并在对radgrid设置数据源之前截断字符串。
public static void SM_Dump_TruncStrings(ref List<myDataType> dump, int maxLength, bool addEllipses)
{
foreach (var sm in dump)
{
PropertyInfo[] infos = sm.GetType().GetProperties();
foreach (var info in infos)
{
if (info.PropertyType == typeof(string))
{
var origValue = info.GetValue(sm, null) as string;
if (origValue != null && origValue.Length > maxLength)
{
var newVal = origValue.Substring(0, maxLength);
if (addEllipses)
newVal += "...";
info.SetValue(sm, newVal, null);
}
}
}
}
}
此方法取自此处:How to iterate through each property of a custom vb.net object?
欢呼,生锈