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拆分为字符('),然后Group使用 Array.ConvertAll 将字符串数组转换为数组,Group该类有一个属性,该属性MyProperty将用字符串元素填充。

于 2012-08-02T04:07:55.733 回答