Javascript 剑道格网键控事件

Javascript 剑道格网键控事件,javascript,angularjs,angularjs-directive,kendo-grid,kendo-asp.net-mvc,Javascript,Angularjs,Angularjs Directive,Kendo Grid,Kendo Asp.net Mvc,我使用剑道指令启动了剑道网格。如何捕捉网格的keydown/keypress事件?我的最终目标是根据另一列的用户输入填充网格列。例如,输入第一个姓名时填充电话号码。为此,我相信我必须使用剑道网格编辑和按键事件,并对用户输入进行搜索,除非有更好的方法。这可能吗 以下是我初始化网格的方式: <section id="dashboard-view" class="mainbar" data-ng-controller="dashboard as vm"> .... <di

我使用剑道指令启动了剑道网格。如何捕捉网格的keydown/keypress事件?我的最终目标是根据另一列的用户输入填充网格列。例如,输入第一个姓名时填充电话号码。为此,我相信我必须使用剑道网格编辑和按键事件,并对用户输入进行搜索,除非有更好的方法。这可能吗

以下是我初始化网格的方式:

<section id="dashboard-view" class="mainbar" data-ng-controller="dashboard as vm">
   ....
   <div kendo-grid="vm.testGrid" k-options="vm.testGridOptions" k-rebind="vm.testGridDataSource.data" k-on-edit="vm.onEdit(kendoEvent)"></div>
   ....
</section>

网格处于批编辑模式。

您可以根据索引查找当前列/字段名。然后过滤它旁边列中的下拉列表:(这只是一个示例代码,请用您的代码替换DOM ID)


由于剑道网格没有本机事件,因此我使用了jqueryonblur事件

vm.onEdit = function (e) {
    alert("Edit event fired");
    $('input.k-input.k-textbox').blur(function (f) {
        alert("Blur event fired");
    }
};

你正在使用剑道数据源吗?是的,我正在使用剑道数据源。它很接近,但我正在寻找类似下面的东西。
vm.onEdit = function (e) {
    var header = vm.thead;//grid header
    var index = vm.cellIndex(e.container);//current cell index

    var th = $(header).find("th").eq(index);
    var colName = $(th).data("field");//fieldname for current cell  

    var dataItem = e.model;//row model

    if(colName=='LastName')
    {
         var phoneDropDown =  e.container.find("#PhoneDropDownId").data("kendoDropDownList");
         if (phoneDropDown) {
               phoneDropDown.dataSource.filter({ field: "Phone", operator: "eq", value: e.model.LastName });
               }
    }
}; 
vm.onEdit = function (e) {
    alert("Edit event fired");
    $('input.k-input.k-textbox').blur(function (f) {
        alert("Blur event fired");
    }
};