Как запустить команду редактирования при событии выбора строк в сетке Telerik?

#asp.net-mvc-3 #razor #telerik-grid #telerik-mvc

#asp.net-mvc-3 #razor #telerik-grid #telerik-mvc

Вопрос:

У меня есть сетка Telerik в проекте MVC3 с движком Razor layout engine, при этом режим всплывающего редактирования работает нормально. Вот код сетки:

 @(Html.Telerik().Grid(Model)
    .Name("grid-moedas")
    .DataKeys(keys => keys.Add(m => m.ID))
    .Columns(columns =>
    {
        columns.Bound(m => m.Nome);
        columns.Bound(m => m.Simbolo);
        columns.Bound(m => m.ExtensoNoSingular);
        columns.Bound(m => m.ExtensoNoPlural);
        columns.Command(commands =>
        {
            commands.Edit();
        });   
    })
        .DataBinding(dataBinding =>
        {
            dataBinding.Ajax().Select("AjaxGrid", "Moeda");
            dataBinding.Ajax().Update("AjaxEdit", "Moeda");
        })
    .Sortable()
    .Editable(editing => editing.Mode(GridEditMode.PopUp))
    .Pageable(paging =>
            paging.Style(GridPagerStyles.NextPreviousAndInput)
    )
    .Footer(true)
    .ClientEvents(events => events            
            .OnRowSelect("onRowSelect")
    )
    .Selectable()
)
  

Я хочу две вещи:

  1. Скройте кнопки, созданные для каждой строки в сетке
  2. Вызовите команду редактирования при событии OnRowSelect, чтобы всплывающая форма редактирования вызывалась в ответ на щелчок пользователя по строке.

    функция onRowSelect(e) { //как вызвать команду редактирования для e.row??? возвращает false; }

Ответ №1:

Вы можете попробовать это:

 <script>
   function onRowSelect(e) {
       var grid = $(this).data("tGrid");
       grid.editRow($(e.row));
   }
</script>
  

Комментарии:

1. это работает, и теперь я вижу свою ошибку. Вместо grid.editRow($(e.row)) я пробовал grid.editRow(e.row)).

Ответ №2:

Я не могу легко попробовать это (у меня нет элементов управления Telerik), но есть ли от этого какая-либо польза:

 <script type="text/javascript">
    function OnRowClick(sender, args) {
        var masterTable = sender.get_masterTableView();
        masterTable.fireCommand("Edit", args.get_itemIndexHierarchical())
    }
</script>
  

Взято отсюда: http://www.telerik.com/community/forums/aspnet-ajax/grid/grid-edit-on-row-select.aspx#1405657