Установить максимальную длину строк в Radgrid / ограничить длину строки в Radgrid с автоматически генерируемыми столбцами - PullRequest
0 голосов
/ 12 февраля 2012

Есть ли какой-нибудь способ сказать Radgrid обрезать длину строк в ее столбцах? Я использую Radgrid, чтобы показать данные из представления SQL, который имеет несколько (много, много) полей, поэтому я хочу использовать autogeneratefields = "true", а не устанавливать все столбцы gridbound и / или выполнять усечение в itemdatabound событие или что-то в этом роде.

Полагаю, я мог бы также задать этот вопрос, каков будет хороший подход к получению данных из представления, и чтобы поля возвращали только первое x количество символов? Как я уже сказал, есть много полей, поэтому я не хочу кодировать каждый столбец в моем dal и делать подстроку или что-то в этом роде ...

Есть мысли?

Спасибо!

Расти

1 Ответ

0 голосов
/ 12 февраля 2012

Не уверен, что мой вопрос имеет смысл, но в случае, если кто-нибудь сталкивался с подобным сценарием, я закончил циклом просмотр свойств своего объекта и обрезал строки перед установкой источника данных на радгрид.

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?

ура,

ржавые

...