2016-03-22 5 views
3

私はKnockoutJs Koグリッドを持っています。これはユーザーが複数の行を選択できるように構成されています。行を選択することができ、ボタンのクリックにバインドされたJS関数でどの行が選択されているかを判断することができます。しかし、ディスプレイはかなり正しくはありません。ユーザーがグリッドの左側にあるチェックボックスをクリックすると、グリッドが表示されません。KnockoutJs KoGridがチェックボックスをオンにすることができません

JSビューモデルでは、次のgridOptionsが設定されています。

this.gridOptions = { 
    data: self.myData, 
    enablePaging: true, 
    pagingOptions: self.pagingOptions, 
    filterOptions: self.filterOptions, 
    selectWithCheckboxOnly: true, 
    selectedItems: self.selected, 
    canSelectRows: true, 
    displaySelectionCheckbox: true, 
    columnDefs: [{ field: 'Timestamp', displayName: 'Timestamp', width: 130 }, 
       { field: 'State', displayName: 'State', width: 70 }, 
       { field: 'FaultApplication', displayName: 'Application', width: 110 }, 
       { field: 'FaultExceptionMessage', displayName: 'Exception Message', width: 400 }, 
       { field: 'FaultServiceName', displayName: 'ServiceName', width: 140 }, 
       { field: 'LinkToFaultsPage', displayName: 'Link to Fault', width: 80, cellTemplate: '<a data-bind="attr: { href: $parent.entity.LinkToFaultsPage}" >Fault</a>' } 
    ] 
}; 

私は、次のJsFiddleで同じ動作を発見した:http://jsfiddle.net/BizTalkers/oowgbj80/

+0

、あなたのリンクの結合の代わりにクリックを使用します。これには、あなたのバイオリンでHTMLを更新します。 href属性例: 'Fun and profit' – Soulriser

答えて

4

私は列の一つは、私が行動できるようにするには、ユーザーが必要なハイパーリンクが含まれているため、trueにselectedwithCheckboxOnlyを設定しましたこれは、GitHubユーザーによって解決された既知のバグであるようです。ricredおよびkiaplayerhere

kogridは、チェックボックスがバインドされている選択状態を正しく更新しません。データバインドを使用してカスタムafterSelectionChangeメソッドを追加すると、問題が解決されます。あなたはあなたの細胞内のリンクを有効にする場合にも選択のためのセルをクリック可能にしながら

<div id="wrapper" data-bind="koGrid:{data:myObsArray, afterSelectionChange: function() { return true; } }"></div> 

example

関連する問題