使用autogenerate列设置radgrid中radgrid / limit字符串长度的字符串最大长度

时间:2012-02-12 06:44:18

标签: c# sql linq telerik sql-view

有没有办法告诉radgrid截断其列中的字符串长度?我使用radgrid显示来自sql视图的数据,该视图有几个(很多很多)字段,所以我想使用autogeneratefields =“true”而不是设置所有gridboundcolumns,和/或在itemdatabound中进行截断事件或类似事件。

我想我也可以这样问一下,从视图中获取数据并让字段只返回前x个字符的好方法是什么?正如我所说,有很多字段,所以我不想编写我的dal中的每一列,并做一个子字符串或类似的东西.......

有什么想法吗?

谢谢!

生锈

1 个答案:

答案 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?

欢呼,

生锈