如何在Telerik网格的RowSelect事件上触发编辑命令?

时间:2011-05-01 21:13:34

标签: asp.net-mvc-3 razor telerik-grid telerik-mvc

我在带有Razor布局引擎的MVC3项目上有一个Telerik Grid,popUp编辑模式工作正常。这是网格代码:

@(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事件上调用edit命令,因此将调用编辑popUp表单以响应用户单击某行。

    function onRowSelect(e){         //如何为e.row调用edit命令???         返回false; }

2 个答案:

答案 0 :(得分:2)

你可以试试这个:

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

答案 1 :(得分:0)

我不能轻易尝试这个(我没有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