3

ASPxGridView PerformCallback メソッドを使用して、javascript 値を背後のコードに渡していますが、動作します。しかし、文字列配列を型にキャストまたは変換し、ASPxGridView にバインドする必要があります。どうすればいいですか?

  protected void detailGrid_CustomCallback(object sender, ASPxGridViewCustomCallbackEventArgs e)
    {
        Group [] data = (Group)e.Parameters.Split(';');

        List<Group> l = new List<Group>();
        for (int i = 0; i < data.Length; i++)
        {
            l.Add(data[i]);
        }

        XFGridView1.DataSource = data;
        XFGridView1.DataBind();

    }
4

2 に答える 2

3

LINQ は、「変換」または「選択」に対して正常に機能します。

IEnumerable<Group> data = e.Parameters.Split(';').Select(p=>new Group(p));  
//or
IEnumerable<Group> data = e.Parameters.Split(';').Select(p=>new Group{SomeProperty=p});

Group クラスに、それぞれ入力したい文字列値またはプロパティを受け取るコンストラクターがあると仮定します。

于 2012-08-02T04:26:32.270 に答える
2

Array.ConvertAllを使用できます

Groupクラスが次のようになっているとします。

class Group
{
    public string MyProperty { get; set; }
}

次に、次のことができます。

string parameters = "abc,def,hij,klm,nop";
string[] myArray = parameters.Split(',');
Group[] groupArray  = Array.ConvertAll<string, Group>(myArray, delegate(string str)
             {
                 return  new Group { MyProperty = str };

             });

上記のコードは、文字列parametersを文字 ( ) で分割し、Array.ConvertAll を使用して'文字列の配列を配列に変換します。クラスには、文字列要素で埋められるプロパティがあります。GroupGroupMyProperty

于 2012-08-02T04:07:55.733 に答える