我有一个使用 Telerik 网格控件的 MVC3 应用程序。我正在很好地填充网格,但我使用的模型内部有一个数组,需要在单列中显示。这是我的模型
public class MyModel
{
public string parentName {get; set;}
public string[] childrenNames { get; set; }
}
现在用 Controller 中的数据填充我的类:
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");
}
我该怎么做?
最佳答案
不能将数组作为单个列
您应该将其设置为模型中的字符串,或者使用连接数组设置另一个属性:
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");
}
关于c# - 将数组值合并为单个值以显示在网格的单列中,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/10639552/