0

列の文字列の長さを切り捨てるようにradgridに指示する方法はありますか?radgridを使用して、複数の(多くの)フィールドを持つSQLビューからデータを表示しているので、すべてのgridboundcolumnsを設定したり、itemdataboundで切り捨てを行ったりするのではなく、autogeneratefields="true"を使用したいと思います。イベントまたはそのようなもの。

この方法でも質問できると思いますが、ビューからデータを取得し、フィールドに最初の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);
                    }
                }
            }
        }
    }

このアプローチはここから取られました:カスタム vb.net オブジェクトの各プロパティを反復処理する方法は?

乾杯、

さびた

于 2012-02-12T19:33:31.573 に答える