0

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

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

有什么想法吗?

谢谢!

生锈的

4

1 回答 1

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?

干杯,

生锈的

于 2012-02-12T19:33:31.573 回答