2016-05-25 1 views
1

をクリックします。私は行選択とカスタムセル要素とUIグリッドを使用する際に問題に直面していますUI-GRIDで

サンプルplunkerはここにある:http://plnkr.co/edit/Ed6s6CGFGXyUzj2cyx2g?p=preview

$scope.gridOptions = { showGridFooter:true,enableRowSelection: true, enableRowHeaderSelection: false }; 

$scope.gridOptions.columnDefs = [ 
{ name: 'id' }, 
{ name: 'name'}, 
{ name: 'age', displayName: 'Age (not focusable)', allowCellFocus : false }, 
{ name: 'address.city' }, 
{ name:'address.pin',cellTemplate:'<select><option value="122002">122002</option><option value="122001">122001</option></select>'}]; 

行をクリックするとそれぞれの行が選択されますが、ドロップダウン・オプションを暗黙的に選択すると、行選択イベントも発生しますが、ドロップ・ダウンのように要素をクリックすると行選択イベントは発生しません誘発される。

Plsガイド。

答えて

1

ui-gridのAPIにより、行の選択を制御できます。別のスレッドからこの答えを見てください:https://stackoverflow.com/a/33788459/5954939。基本的には、イベントrowSelectionChangedまたはisRowSelectableを使用することができます。例が必要な場合は教えてください。

2

興味深い質問がまだ出てこないのですが、私がする前には時間があると確信しています。私は私の解決策を示すために塊を作りました。

基本的に、私がしていることは、AranSが述べたようにウォッチャーに登録されています。そこから、作業する2つのオブジェクトがあります:行と発生したイベント。イベントオブジェクトは、どの要素が選択(クリック)されたかを示すので、それがDIVかどうかを識別することができます。選択リストが変更された場合、evt.srcElement.tagNameの値は 'SELECT'です。

http://plnkr.co/edit/k2XhHr2QaD1sA5y2hcFd?p=preview

$scope.gridOptions.onRegisterApi = function(gridApi) { 
    $scope.gridApi = gridApi; 

    gridApi.selection.on.rowSelectionChanged($scope,function(row,evt){ 
     if (evt) 
     row.isSelected = (evt.srcElement.tagName === 'DIV'); 
    }); 

    }; 
+0

おかげであなたの助けのためにたくさん! –

関連する問題