设置radgrid中字符串的最大长度/使用自动生成列限制radgrid的字符串长度

本文关键字:字符串 radgrid 自动生成 设置 | 更新日期: 2023-09-27 18:24:27

有什么方法可以告诉radgrid截断其列中字符串的长度吗?我使用radgrid来显示sql视图中的数据,该视图有几个(很多)字段,所以我想使用autogeneratedfields="true",而不是设置所有的gridboundcolumn,和/或在itemdatabound事件中进行截断或类似的操作。

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

有什么想法吗?

谢谢!

生锈的

设置radgrid中字符串的最大长度/使用自动生成列限制radgrid的字符串长度

不确定我的问题是否有意义,但如果有人遇到类似的场景,我最终会循环遍历对象的属性,并在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);
                    }
                }
            }
        }
    }

这个方法就是从这里开始的:如何遍历自定义vb.net对象的每个属性?

欢呼,

生锈的