2016-03-01 47 views
2

我需要在ag-grid中的哪个位置,我需要打开一个菜单来添加/编辑/删除该行数据。我使用角度材质菜单组件作为单元格模板网址。但是当点击该菜单项时,它不会触发ag-grid中的onCellClicked事件以获取对点击的行数据的引用。但是,如果我从菜单项中单击像素,则会触发事件。 需要帮助弄清楚,我怎样才能获得菜单点击行数据。如何通过ag网格中的角度材质菜单获取行数据

我的AG-电网代码放在这里:

var columnDefs = [ 
    {headerName: "", field: "icon", width:65}, 
    {headerName: "Categories",field:"category_name", width:1025, cellRenderer:function(params){ 
    // my cell renderer code goes here 
     }, 
    onCellClicked:function(params){ 
     console.log("Cell is still getting click "+params.data); 
    //This click does not work 
    }, 

    {headerName: "", field: "options", width:87, suppressMenu: true, templateUrl:"partials/options.html" 
    } 
]; 

options.html

<md-menu> 
    <!-- <md-button aria-label="Open phone interactions menu" class="md-icon-button" ng-click="openMenu($mdOpenMenu, $event)"> 
    <md-icon md-svg-src="images/icons/options.svg" aria-label="android "></md-icon> 
    </md-button> --> 
    <a href="javascript:void(0)" class="option-btn" ng-click="openMenu($mdOpenMenu, $event)">options</a> 
    <md-menu-content width="4"> 
    <md-menu-item> 
     <md-button ng-click="modifyOptions($event)"> 
     <md-icon md-svg-src="images/icons/add.svg" aria-label="android "></md-icon> 
     Add 
     </md-button> 
    </md-menu-item> 
    <md-menu-item> 
     <md-button ng-click="toggleNotifications()"> 
     <md-icon md-svg-src="images/icons/edit.svg" aria-label="android "></md-icon> 
     Edit 
     </md-button> 
    </md-menu-item> 
    <md-menu-divider></md-menu-divider> 
    <md-menu-item> 
     <md-button disabled="disabled" ng-click="checkVoicemail()"> 
     <md-icon md-svg-src="images/icons/delete.svg" aria-label="android "></md-icon> 
     Delete 
     </md-button> 
    </md-menu-item> 
    </md-menu-content> 

回答

0

我发现我的问题的回答这是不是很辛苦,但:电池模板有可以通过调用data.your_property来访问属性。在这里,我根本不需要onCellClicked事件。下面是工作代码:

var columnDefs = [ 
    {headerName: "", field: "icon", width:65}, 
    {headerName: "Categories",field:"category_name", width:1025, cellRenderer:function(params){ 

     // Cell Renderer goes here 
}, 

    {headerName: "", field: "options", width:87, suppressMenu: true, templateUrl:"partials/options.html" 
    } 
]; 

option.html

<md-menu> 

    <a href="javascript:void(0)" class="option-btn" ng- click="openMenu($mdOpenMenu, $event, **data**)">options</a> 
<md-menu-content width="4"> 
<md-menu-item> 
    <md-button ng-click="modifyOptions($event, data)"> 
    <md-icon md-svg-src="images/icons/add.svg" aria-label="android "></md-icon> 
    Add 
    </md-button> 
</md-menu-item> 
<md-menu-item> 
    <md-button ng-click="modifyCategory(data)"> 
    <md-icon md-svg-src="images/icons/edit.svg" aria-label="android "></md-icon> 
    Edit 
    </md-button> 
</md-menu-item> 
<md-menu-divider></md-menu-divider> 
<md-menu-item> 
    <md-button disabled="disabled" ng-click="deleteCategory(data)"> 
    <md-icon md-svg-src="images/icons/delete.svg" aria-label="android "></md-icon> 
    Delete 
    </md-button> 
</md-menu-item> 

+0

我有同样的问题,你能不能请您复制怎么叫cellRenderer的被调用我真的将不胜感激 – Rudy