2012-04-17 5 views
2

jqGrid의 끌어서 놓기 기능을 사용하고 있으며 드래그되는 행의 CSS를 어떻게 변경할 수 있는지 알고 싶습니다.끌고있는 jqGrid 행의 CSS 변경

끌기 행에 CSS 클래스를 추가 할 수 있다고 생각하지만 100 % 확실하지 않습니다.

아무도 도와 줄 수 있습니까? 감사!

답변

2

당신은 주위를 끌고있는 행의 스타일을 수정하는 onstart 콜백을 사용할 수 있습니다.

enter image description here

대응하는 코드가 나는 기본적으로있는 jqGrid에 의해 추가 된 스타일 "ui-state-highlight"을 제거 예에서

$("#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" 
      }); 
    } 
}); 

입니다 :

나는 그것을 할 수있는 방법을 보여주기 위해 당신을 위해 the following demo했다 드래그 행의 글꼴로 문제를 해결하려면 "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'의 사용법에 어떤 문제도 보지 못했습니다. 내 대답을 업데이트하고 하나 더 데모를 포함 시켰습니다. – Oleg

+0

Oleg : 내 문제는 alt 행의 배경색과 관련이 있다고 생각합니다. 귀하의 예제에서, 흰색 행의 배경색은 드래그 될 때 빨간색으로 바뀝니다. alt 행은 드래그 할 때 배경색을 빨간색으로 변경하지 않습니다. – FastTrack

0

그럼 당신이처럼 DIV에 클래스를 추가하거나 행 수 :

다음은 Fiddle

$(document).ready(function(){ 

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

}); 

});