2012-04-17 10 views
2

jqGridのドラッグアンドドロップ機能を使用しています。ドラッグされている行のCSSをどのように変更できるかを知りたいと思います。ドラッグ中のjqGrid行のCSSを変更する

ドラッグした行にCSSクラスを追加できると思っていますが、100%確実ではありません。

誰でも手助けできますか?ありがとう!

答えて

2

はあなたが周りにドラッグされている行のスタイルを変更するonstartコールバックを使用することができます。

私はそれを行うことができる方法を示すためにあなたのためのthe following demoを作った:

enter image description here

対応するコードは、例で

$("#grid1").jqGrid('gridDnD', { 
    connectWith: '#grid2', 
    onstart: function (ev, ui) { 
     ui.helper.removeClass("ui-state-highlight") 
      .addClass("ui-state-error ui-widget") 
      .css({ 
       border: "5px ridge tomato" 
      }); 
    } 
}); 

である私は、デフォルトでjqGridで追加されたスタイル"ui-state-highlight"を削除ドラッグしている行のフォントに問題を解決するには、"ui-widget"を追加します。最後に、必要なスタイルに対応するスタイル、CSSクラス"ui-state-error"、CSSスタイルborder: 5px ridge tomatoを追加しました。

さらに私は、先のグリッドの水平スクロールバーを防ぐために、CSSスタイル

.ui-jqgrid .ui-jqgrid-bdiv table.ui-state-active { border-style: none; } 

を使用しています。

更新済み:一部のグリッドではaltRows: trueの使用に関する問題はありません。おそらくその理由は、単純なresetAltRows機能は、私がhereを説明

// make rows of grid2 sortable 
$("#grid2").jqGrid('sortableRows', { 
    update: function() { 
     resetAltRows.call(this.parentNode); 
    } 
}); 

sortableRowsの利用でした。 the demoを試してみてください。

+0

恐ろしく!ありがとうオレグ。問題は、alt行を使用していて、代替行の新しいスタイルを拾わないということです。何か案は? – FastTrack

+0

@FastTrack: 'altRows:true'の使用には何の問題もありませんでした。私は自分の答えを更新し、さらにデモを1つ入れました。 – Oleg

+0

Oleg:私の問題はalt行の背景色と関係していると思います。あなたの例では、白い行の背景色はドラッグされると赤色に変わります。 alt行は、ドラッグされたときに背景色を赤に変えることはありません。 – FastTrack

0

さてあなたは、このようなあなたのdivにクラスを追加したり、行することができます

はここFiddle

$(document).ready(function(){ 

$('div').click(function(){ 
$(this).addClass('red'); 

}); 

}); 
関連する問題