【问题标题】:Assign default values while creating new Item创建新项目时分配默认值
【发布时间】:2015-02-05 21:42:26
【问题描述】:

这个关于 Telerik MVC Grid 的问题。

我有两个具有 Master->Details 关系的网格。这些到网格是使用 Ajax 绑定加载的。我想在详细信息网格中创建新项目并从主网格传递 ProductId 字段值。 我在下面添加了属性,但不知道如何从主网格获取 ProductId。我试图在 Detail 子加载时使用 ViewBag 传递值,似乎未分配 ViewBag 然后执行 Ajax 调用。也许有人知道如何解决这个问题?

Editable(editing => editing.DefaultDataItem(new UserViewModel { ProductId = ?????? })

【问题讨论】:

    标签: telerik telerik-grid telerik-mvc


    【解决方案1】:

    当你有主网格和细节网格时, 并且您想在 Detail Grid 中创建记录, 您应该添加 JavaScript 逻辑,该逻辑使用详细网格的 OnSave 事件将附加值传递给服务器(它应该是主网格中的选定记录)。 查看documentation有例子。

    【讨论】:

      【解决方案2】:

      您是否尝试过为此使用客户端模板

      Editable(editing => editing.DefaultDataItem(new UserViewModel { ProductId = <#= ProductId #> })
      

      如果您使用 Ajax 绑定,您还可以在插入时传递父 ID:

      dataBinding.Ajax().Insert("_Insert", "SubItem", new { productId= "<#= ProductId #>" }));
      

      别忘了设置你的父网格的DataKey

      .DataKeys(keys => keys.Add(c => c.Id))
      

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 2011-09-04
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多