2

我有一个使用 Telerik 的网格控件的 MVC3 应用程序。我很好地填充了网格,但是我使用的模型内部有一个数组,需要在单个列中显示。这是我的模型

public class MyModel
{
    public string parentName {get; set;}
    public string[] childrenNames { get; set; }
}

现在用控制器中的数据填充我的类:

 public ActionResult Index()
 {
            var loo = new MyModel[2];
            loo[0] = new MyModel();
            loo[0].parentName = "Troy";
            loo[0].childrenNames[0] = "chris";
            loo[0].childrenNames[1] = "tony";
            loo[1] = new MyModel();
            loo[1].parentName = "Mike";
            loo[1].childrenNames[0] = "lee";
            loo[1].childrenNames[1] = "mary";

            IEnumerable<MyModel> model = loo;
        return View(model);

 }

现在我的 childrenNames 数组可以并且将有多个条目,但我需要将 childrenNames 组合成一个以逗号分隔的值并显示在我的网格中:

@model IEnumerable<MyModel>
@(Html.Telerik().Grid(Model)
.Columns(columns =>
{
    columns.Bound(o => o.parentName).Width(100).Title("Parent");
    columns.Bound(o => o.childrenNamesCombined).Width(250).Title("Kids");
 }

我怎么做?

4

1 回答 1

2

您不能将数组作为单列

您应该在模型中将其设为字符串,或者在连接数组中使用另一个属性:

public class MyModel
{
    public string parentName {get; set;}
    public string[] childrenNames { get; set; }
    public string JoinedNames { get; set; }
}

loo[1] = new MyModel();
..
...
loo[1].JoinedNames  = string.Join("," loo[1].childrenNames);

@(Html.Telerik().Grid(Model)
.Columns(columns =>
{
    columns.Bound(o => o.parentName).Width(100).Title("Parent");
    columns.Bound(o => o.JoinedNames).Width(250).Title("Kids");
 }
于 2012-05-17T16:26:28.617 回答