我有一个使用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");
}
我该怎么做?
答案 0 :(得分: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");
}