【问题标题】:Refer to an other columns value in a MVC3 Razor WebGrid引用 MVC3 Razor WebGrid 中的其他列值
【发布时间】:2011-12-16 18:28:48
【问题描述】:

我有一个按周分组的网络网格。第一个网格列包含周数,如下面的代码示例所示。 最后一个“摘要”列需要显示不同的内容,具体取决于行周数是否与当前周数匹配。 是否可以以某种方式使用它们摘要列中的 Weeknumber 列值?

@grid.GetHtml(tableStyle: "grid", headerStyle: "head",columns: trainingGrid.Columns(
  grid.Column("WeekNumber", "Week"),
  .....
  grid.Column("Summary", "Sum", format: (item) =>
    { if (***above columns weeknumber == ViewBag.CurrentWeekNo)
      { return "Dolor"
      }
      else{
        return "Sit";
      }
    }
)

【问题讨论】:

    标签: c# asp.net-mvc-3 razor webgrid


    【解决方案1】:

    Column 格式方法的参数中,您将当前项目作为动态对象获取,因此您可以使用普通属性语法访问 WeekNumber:

    grid.Column("Summary", "Sum", format: (item) =>
    {
        if (item.WeekNumber == ViewBag.CurrentWeekNo)
        {
            return "Dolor";
        }
        else
        {
            return "Sit";
        }
    }
    

    【讨论】:

    • 感谢您的帮助!当我输入“项目”时,IntelliSense 没有显示周数。但它有效:)
    • @Jay item 在这种情况下是 dynamic,不是强类型。 IntelliSense 无法显示其属性,因为它不知道它们是什么。 dynamic 类似于 VB 的 Variant 类型或 JavaScript 的 var
    • 如果我想比较同一列但来自不同行的值怎么办?
    • @user3281466 你只能获取当前项目。所以你不能比较不同的行。
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2012-05-01
    • 1970-01-01
    • 2012-04-10
    • 2012-11-01
    • 2012-09-18
    • 2012-02-18
    • 1970-01-01
    相关资源
    最近更新 更多