2016-08-10 7 views
1

チェックボックスを含む列が必要なので、クリックするとコンポーネント内の関数が呼び出されます。コンポーネントの機能を持つ列テンプレート

注意私は行を選択しないでください。関数を呼び出すだけです。私の最初の列で

外観:

constructor(){ 
    this.columns = [ 
      { width: 30, suppressSorting: true, suppressMenu: true, template: '<input type="checkbox" (change)="updateSelectedList()"/>' }, 
      { headerName: "Score", field: "severity", filter: 'number' }, 
      { headerName: "Behaviour tags", field: "tags" }, 
      { headerName: "Host", field: "host" }, 
      { headerName: "Time", field: "lastModified" }, 
      { headerName: "ID", field: "alertId" }, 
      { headerName: "Assigned", field: "userName", editable: true, cellEditor: "select", cellEditorParams: { values: this.users.map(u => u.userName) } },//}, 
      { headerName: "Grouped" }, 
      { headerName: "Comments" } 
     ] 
} 


updateSelectedList(row: RowNode) { 
     if (row.isSelected()) 
      this.checkedAlerts.push(row.data); 
     else 
      this.checkedAlerts.splice(this.checkedAlerts.indexOf(row.data), 1); 
    } 

テンプレートでコール:

<ag-grid-ng2 [rowData]="alerts | listToArray" [columnDefs]="columns" (rowClicked)="$event.api.selectNode($event.node)" (rowSelected)="updateSelectedList($event)" (cellValueChanged)="onUserSelect($event)"></ag-grid-ng2> 
+2

ください。あなたが試したことを示してください。 – rinukkusu

+0

あなたはコンポーネントの "updateSelectedList"という名前の関数を見ることができます。これは、入力のchangeイベントにアタッチしたいものです。 –

+1

あなたはまだ「私が欲しい」と言っています。 StackOverflowは未払いのフリーランサーソリューションではありません。あなたが望むものを達成しようとしたことを私たちに示し、実際に遭遇する問題を解決するのに役立ちます。 – rinukkusu

答えて

0

あなたのコラムテンプレートは結構です。デフォルトでは、AG-グリッドを使用すると、セルをクリックして行を選択します、あなたはgridOptionsに特性の一つとしてこれを渡すことで、これを無効にすることができ、あなたが** **ことをしたいが、こと、素晴らしいことだ

suppressRowClickSelection: false 
関連する問題