2012-07-26 3 views
0

Grails 2.0.3 버전이있는 Grails 프로젝트에서 플러그인 JQGrid 3.8.0.1을 사용하고 있습니다.grails에서 JQGrid로 rowSelection 리디렉션

이 내용은 onSelectRow<jqgrid:grid>입니다. 리디렉션 구조를 양식 구조에서 창 구조로 변환 할 계획이었습니다. 이 변환을 수행하는 이유는 .gsp 파일에 <form> 요소가 있고 <body> 영역에 있기 때문입니다. 이에서

:

<jq:resources/> 
<jqui:resources/> 
<jqgrid:resources/> 
<jqgrid:grid 
// other main attributes (i.e., url, colNames, colModel, etc.) 
onSelectRow="function(id) { 
    document.<formname>.action = 'view/' + id; 
    document.<formname>.submit(); 
}"></jqgrid:grid> 

// html body content of form 
<form name="<formname>"> 
</form> 

이 사람 :

<jq:resources/> 
<jqui:resources/> 
<jqgrid:resources/> 
<jqgrid:grid 
// other main attributes (i.e., url, colNames, colModel, etc.) 
onSelectRow ="function(id) { 
    window.location.href = ${createLink(action:'show', id:id)}; 
}"></jqgrid:grid> 

이 (가) jq, jqui는, jqgrid 태그는 Grails가 프로젝트에 설치된 플러그인을 명령하는 grails> install-plugin jquery jquery-ui jqgrid

문제는 새 스크립트가 작동하지 않는다는 것입니다. 새 html 소스 코드를 확인하면 onSelectRow 속성 window.location.href = /<Project Name>/<Controller>/show; 값을 반환합니다. 질문은 새 스크립트에서 JQGrid가 제대로 실행되도록하는 방법입니다.

참고 : 저는 현재 ':''='를 교체하고 시도하는 발판 Grails의의 기능이나 generate-all * 명령

+0

createLink 기능에서 컨트롤러 이름을 정의해야합니다. – sanghavi7

+0

여전히 작동하지 않습니다. 콘트롤러가 정의되어 있지 않아도 Grails는 페이지가 현재 패키지되어 있거나 grails-app/view' 폴더에있는 기본 컨트롤러 이름을 반환합니다. –

답변

0
onSelectRow: function(id,status) 
{ 
    //var rowData = jQuery(this).getRowData(id); 
} 

시도를 사용하고 있습니다.

+0

'='을':'로 대체 할 수 없습니다. 나는 Grails에서 JQGridTagLib, ''에 의해 JQGrid를 사용하고 있습니다. 위에 주어진 형식으로 코드를 제공 할 수 있습니까? 감사. –

+0

문제를 파악할 수 있도록 코드를 넣을 수 있습니까? – sanghavi7

+0

필요한 코드로 코드를 업데이트했습니다. 오직 onSelectRow만이 내 관심사이고, 다른 속성은 페이지로드 이후에 작동해야하므로 작동합니다. –