2016-07-06 38 views
2

次の例のグリッド実装は、 Example - Multiple Row Selectionです。分类例 - 複数行選択。私はクロームMozillaのオペラのシフトで行を選択すると、あなたが画面上に1Internet Explorerのag-gridで行を選択すると、追加のテキストが選択されます

残念ながら

enter image description here

を見ることができるように、すべてが、大丈夫です、私はまた、IEブラウザをサポートする必要があります。私がIEで同じ操作をすると、いくつかの追加のテキストも選択されます:上のタイトルなど。この問題を解決する方法はありますか?

enter image description here

P.S.この例のためにplunkrを準備する方が良いか、ag-gridのWebサイトからの例で十分ですか?

答えて

1

は、本体にこのCSSを入れて、あなたのページのためのユーザ選択をオフにします。 体{ ユーザー選択:なし; }

グリッドはグリッドに対してこれを実行しますが、残りのアプリでは実行しません(すべきではありません)。問題はIEがシフトクリックを理解していることです。だから私はそれがグリッドの問題だとは思わない、それを回避するのが最善です。あなたが詳細なアプリケーション(私はあなたがag-Gridを使用している場合はあなたのことを推測している)のときに、単一ページのWebアプリケーションでユーザ選択をオフにするのはかなり標準的です。

+0

これは動作します。このルールをInternet Explorerに適用するには、ボディ '{-ms-user-select:none}'を追加する必要があります。 – CodeMonkey

1

個人的には、行(セルではない!)を選択するために、行の先頭にあるチェックボックスを優先します。そしてそれはIEのあなたの問題を解決するかもしれません。

は例えば、列定義にcheckboxSelection属性を使用します。

{headerName: "Athlete", field: "athlete", checkboxSelection: true}, 

あなたがチェックボックスで選択した行を強制​​したい場合は、にgridOptionsにプロパティsuppressRowClickSelectionを設定することができます。

+0

ありがとうございました。はい、チェックボックスは問題を解決しますが、残念ながらプロジェクトでは使用できません。私は一時的な解決策を見つけ、それを下に掲載しました。 – CodeMonkey

1

現在、解決策を使用することです:

onRowSelected 

リスナーで

$window.getSelection().removeAllRanges();

。したがって、行の選択が変更されるたびに、IE内の他の要素の選択が削除されます。良い解決策ではありませんが、それ以上はありません。 Mozilla MDN

+0

これは瞬時に起こっていますか?私がこの解決策を試してみると、画面上の他の部分が削除される前に選択が表示されています。 – dsh

+0

@dsh残念ながら、瞬時にはありません。一部の短時間(100〜300ms)誤って選択された領域が表示されて消えます。現在、私は他の解決策を見つけられませんでした。アレクサンダー・ザビンデンが提案したチェックボックスを使用するか、この「ハック」を使用してください。 – CodeMonkey

関連する問題