-1

我有一个 DevExpress gridview 可以正常工作,但是......在绑定模型中,它也是“VisitTypes”的集合,我不知道如何处理......

它是“VisitTypeSummary”类型的列表(集合)。

我想要做的是为这个集合中的每个项目添加一个新列。集合看起来像这样:

  1. 访问类型 ID
  2. 姓名
  3. 数数

所以结果应该是这样的(如果项目的数量是 3):

  • Col1 : 面积
  • Col2 : 名称
  • Col3 : 地址
  • Col4 : VisitTypeSummary[0].Name
  • Col5 : VisitTypeSummary[1].Name
  • Col6 : VisitTypeSummary[2].Name
  • Col7 : LastVisited

等等……等等……

问题是我不知道如何实际..访问PartialView中的模型,我试图通过执行foreach(Model.VisitTypeSummary中的var item)来实现这一点,但它看起来和闻起来都是错误的..

这是一些代码:

var grid = Html.DevExpress().GridView(settings => {
-- etc -->

settings.Columns.Add("AntButikkMedBesoeksKode");
settings.Columns.Add("BesoeksProsent");

foreach (var VisitTypeSummary in the-model-i-cannot-figure-out) )
    {
    // add new column to the gridview                                                      
    }

settings.Columns.Add("AntKundeBesoek");
settings.Columns.Add("SumBesoekForSelger");
settings.Columns.Add("SnittBesoekPrDagSelger");

// and bind it in the end..
@grid.Bind(Model).GetHtml()

所以..有人知道我该怎么做吗?谷歌搜索了一段时间,但没有成功。

4

1 回答 1

1

听起来您在描述主从关系。模型中的每条记录都有一个 VisitTypeSummary 的集合。

在此处查看DevExpress 演示

我建议将 VisitTypeSummary 集合放在详细视图中,而主模型显示为主数据集。然后,详细视图将有一个列列出 VisitTypeSummary 的名称,如果类扩展,您可以稍后添加更多列。

这将减少主网格视图中的总列数,从而简化用户界面并提高可用性。

编辑:根据我的评论,如果您真的需要网格中的这些列,您可以使用 for 循环添加它们:

for (int i = 0; i < VisitTypeSummary.Count; i++)
{
    settings.Columns.Add(string.Format("VisitTypeSummary[{0}].Name"), i);
}
于 2014-05-28T05:51:06.720 回答