在列表中处理一个数组,一个基础设施点燃数据网格

Handle an array inside a list an infragistics ignite datagrid

我想知道是否有人可以帮助解决我在使用 Infragistics ignite 数据网格时遇到的问题。我正在使用 Infragistics.Web.Mvc .net 库。问题是我的列表中有一个数组正在填充网格。我希望能够在单独的列中显示数组中的每个值。例如,这在我看来是有效的。

   @foreach (var item in Model) {
             var firstname = item.BillToContact.FirstName;
             var lastname = item.BillToContact.LastName;

   foreach (var number in item.BillToContact.PhoneNumbers) {
               @Html.DisplayFor(modelItem => firstname )
               @Html.DisplayFor(modelItem => lastname )
               @Html.DisplayFor(modelItem => number.Number)
    }
  } 

但是,当我尝试在我的数据网格中以任何形状执行此操作时,该列仍然为空。我在下面的代码片段中尝试使用简单的方法输出到网格方法。

    .Columns(col =>
  {
    // problem is here
       col.For(c => c.BillToContact.PhoneNumbers[0].Number).HeaderText("PhoneNumbers1").Width("200px");

       col.For(c => c.ID).HeaderText("ID").Width("100px");
       col.For(c => c.Name).HeaderText("Name").Width("200px");
       col.For(c => c.BillToContact.Name).HeaderText("BillToContactName").Width("200px");
       col.For(c => c.BillToContact.Title).HeaderText("Title").Width("200px");
   })

有人知道如何显示数组的内容吗?每个值都位于库内的单独列中,库是 Infragistics ignite 数据网格的数据源。?

我将采用的方法是向 returns 适当数据的 BillToContact class 添加叠加层 属性。这将允许您处理数组中没有任何内容的场景,或者将来有人希望在列中显示所有可用 phone 数字的场景。

类似于

    public string PhoneNumbers1
    {
        get
        {
            if ((PhoneNumbers != null) && (PhoneNumbers.Length > 0))
            {
                return PhoneNumbers[0].Number;
            }
            else
            {
                return string.Empty;
            }
        }
    }