JQGrid行が選択および/または強調表示されるのを止めることは可能ですか?

StackOverflow https://stackoverflow.com/questions/2148135

質問

私は見ました ドキュメンテーション しかし、私は答えを見つけることができませんでした。選択されたときに行が強調表示されないようにする方法はありますか?それとも、行が選択されるのを止める方法です。 「ホバーロウ:トゥルー」オプションが好きですが、理想的には、クリック中に行が選択されないようにしたいと思います。

ありがとう、

アップデート:私は暫定的な修正と思われる何かを「ハッキーに」実装することができました。私はそれがまったく好きではなく、もしそれがあれば...

オプションに合格すれば、それを発見しました

onSelectRow: function(rowid, status) {
    $('#'+rowid).removeClass('ui-state-highlight');
}

JQGridをインスタンス化すると、ハイライトが追加されたら剥がすことができます。

これを行うための別の、より理想的な方法はありますか?

役に立ちましたか?

解決

次のコードを使用します。

beforeSelectRow: function(rowid, e) {
    return false;
}

他のヒント

私のように、あなたがgazillion jqgridsを持っていて、すべてのすべてのためにSelectrowを無効にしたくない場合、ここに私にとってうまく機能したReigelのソリューションのグローバルバージョンがあります。

jQuery.extend(jQuery.jgrid.defaults, {
    onSelectRow: function(rowid, e) {
        $('#'+rowid).parents('table').resetSelection();
    }
});

CSSで直接対処できると思います。特定のテーブルのUI-STATE-HIGHLIGHTの値をオーバーライドするだけです

#table_id tr.ui-state-highlight {
  border: inherit !important;
  background: inherit !important;
  color: inherit !important;
}

#table_id tr.ui-state-highlight a {
  color: inherit !important;
}

#table_id tr.ui-state-highlight .ui-icon {
  background-image: inherit !important;
}

値を使用しました inherit 例として、この作業を行うには、Theme.cssからいくつかの値をコピーする必要があります。

試す:

onSelectRow: function(rowid, status) {
    $("#grid_id").resetSelection(); //Resets (unselects) the selected row(s). Also works in multiselect mode.
}

ドキュメントを読むことができます ここ. 。それがあなたを助けることを願っています...

はい、rowattrコールバックを使用します:

rowattr: function (rowData,currentObj,rowId) {
    if (rowData.SomeField=="SomeValue") { 
        return {"class": "ui-state-disabled"};
    }
},

また、これは列を塗りつぶし、選択を無効にします。

ライセンス: CC-BY-SA帰属
所属していません StackOverflow
scroll top