【问题标题】:Different template for adding data and editing data on a Telerik grid用于在 Telerik 网格上添加数据和编辑数据的不同模板
【发布时间】:2012-04-24 21:30:06
【问题描述】:

我正在尝试将不同的模板传递给 Telerik Grid,具体取决于是否按下了添加按钮或编辑按钮(创建时:要填写一些字段。现有:添加按钮:要填写一些额外的字段,编辑按钮:大多数字段是只读的,要填写新字段)。

Dim myGrid = Html.Telerik().Grid(Of SomeModel) _
.Name("myGrid")

    If Model.Action = AddNewData Then
        myGrid.Editable(Sub(editing) _  
        editing.Enabled(True).Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(False) _
        .TemplateName("AddTemplate"))

    ElseIf Model.Action = EditOldData Then
      if "gridBoutonPushed = Add" then
        grille.Editable(Sub(editing) _
        editing.Enabled(True).Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(False) _
        .TemplateName("EditTemplateNew"))
      else 'edit button was pushed
        grille.Editable(Sub(editing) _
        editing.Enabled(True).Mode(GridEditMode.PopUp).DisplayDeleteConfirmation(False) _
        .TemplateName("EditTemplateOld"))
      end if
    End If

'generate the add button
myGrid.ToolBar(Sub(c) c.Template(" <a href='#' class='t-button t-button-icontext t-grid-add'>" &
                    "<span style='margin-left: 0pt;' class='t-icon t-add'></span>Add stuff</a>"))

我不知道如何做if "gridBoutonPushed = Add" then 部分。有什么建议吗?
...我也愿意以其他方式处理这个问题。

【问题讨论】:

    标签: vb.net telerik telerik-grid


    【解决方案1】:

    我遇到了类似的问题,并想出了一个使用 javascript 和 Telerik 的动作处理程序的解决方法 首先,我将其添加到 Grid 的属性集中:

    .ClientEvents(Function(events) events.OnEdit("onEditUsers"))
    

    将处理程序指向此函数,然后在网格代码之外:

    <script type="text/javascript">
    function onEditUsers(e) {
    
               var popup = $("#" + e.currentTarget.id + "PopUp");
               var popupDataWin = popup.data("tWindow");
    
    
               if (e.mode == "insert") {
                   //for creating
                   popupDataWin.title("Add new User");
    
               }
               else {
                   //for editing
                   popupDataWin.title("Edit Customer");
    
                   // Hide fields from the pop-up.
                   $(e.form).find("#UnwantedField1").closest(".editor-field").prev().andSelf().hide();
                   $(e.form).find("#UnwantedField2").closest(".editor-field").prev().andSelf().hide();
               }
           }
       </script>
    

    您可以修改这些函数以使字段按您的需要运行

    不幸的是,这要求您的模板都存在于一个文件中,并且需要您定义哪些字段针对每个不同的事件以哪种方式表现

    我希望这会有所帮助!

    【讨论】:

      猜你喜欢
      • 2021-12-31
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2023-03-14
      • 1970-01-01
      • 1970-01-01
      • 2012-05-05
      相关资源
      最近更新 更多