2014-12-11 2 views
0

화면의 크기에 관계없이 페이지에 맞게 cfgrid의 높이와 너비를 지정하려고합니다.cfgrid 자동 높이 및 너비

<cfform> 
    <!-- I have tried: But it can not have percentages. --> 
    <cfgrid name="FLines" height="60%" width="60%" format="html" selectmode="EDIT" striperows="Yes" query="PGs" appendkey="No" hrefkey="True"> 
    <!-- I do not want to tell it a hardcoded way for width and height. --> 
    <cfgrid name="FLines" height="600" width="600" format="html" selectmode="EDIT" striperows="Yes" query="PGs" appendkey="No" hrefkey="True"> 

    <cfgridcolumn name="PRID" display="No"> 
    <cfgridcolumn name="PROFILE" header="Profile" width="50"> 
    <cfgridcolumn name="DESCRIPTION" header="Description" width="200"> 
    <cfgridcolumn name="Qty" header="Prod Cat" width="50"> 
    <cfgridcolumn name="CARTONWIDTH" header="Carton Width" width="75"> 
    <cfgridcolumn name="Configuration" header="Config" width="50"> 
    </cfgrid> 

어떤 제안?

+2

예, 'cfgrid'(또는 Cf UI 요소 중 하나)를 사용하지 마십시오. jQGrid를 사용해보십시오. –

+2

jqGrid는 기존 디자인에 스타일을 적용하는 악몽입니다. 나는 몇 달을 보냈지 만 결코 작동하지 않았다. http://www.datatables.net을 시도하십시오. –

+0

나는 datatables를 선호하지만 Scott의 기본 문장은 옳습니다. CF의 UI 요소를 다루는 데 충분한 시간을 보낸 후, 그들은 바보 같은 목발이라는 것을 알게됩니다. 그것들을 너무 세게 잡아 당기면 균열이 생기기 시작합니다. –

답변

0

출처 :CFGrid - Use full document width

저자 에 의해 여기에 귀하의 회원 영역의 홈 페이지에서 쿠키를 설정하는 자바 스크립트를 사용할 것을 제안합니다.

<script src="//ajax.googleapis.com/ajax/libs/jquery/1.8.2/jquery.min.js"></script> 
<script type="text/javascript"> 
function createCookie(name, value, days) { 
if (days) { 
var date = new Date(); 
date.setTime(date.getTime() + (days * 24 * 60 * 60 * 1000)); 
var expires = "; expires=" + date.toGMTString(); 
} else var expires = ""; 
document.cookie = escape(name) + "=" + escape(value) + expires + "; path=/"; 
} 

function readCookie(name) { 
var nameEQ = escape(name) + "="; 
var ca = document.cookie.split(‘;’); 
for (var i = 0; i < ca.length; i++) { 
var c = ca[i]; 
while (c.charAt(0) == ‘ ‘) c = c.substring(1, c.length); 
if (c.indexOf(nameEQ) == 0) return unescape(c.substring(nameEQ.length, c.length)); 
} 
return null; 
} 

function eraseCookie(name) { 
createCookie(name, "", -1); 
} 

$(document).ready(function(){ 
createCookie("bodyWidth", $(document).width()-20, 14); 
}); 
</script> 
<cfset structDelete(session, ‘bodyWidth’) /> 

그들은 다음 Application.cfc의 OnRequestStart이를 사용

<!— GRID WIDTHS —> 
<cfif not isDefined("session.bodyWidth")> 
<cfif isDefined("cookie.bodyWidth")> 
<cfset session.bodyWidth = cookie.bodyWidth> 
<cfelse> 
<cfset session.bodyWidth = 1067> 
</cfif> 
</cfif> 

을 (당신이 것을 사용하는 경우도 Application.cfm의에서 일 것이다) 그리고 당신의 cfgrids 이제 변수로 session.bodywidth을 사용할 수 있습니다.

단점은 크기 조정에 동적으로 응답하지 않지만 다른 해상도에서 작동한다는 것입니다.

저자는 JQuery를 사용하지만 순수한 자바 스크립트는 JQuery가 할 수있는 모든 작업을 수행 할 수 있으며 JQuery가 실제로 여기에서 사용되는 것처럼 보입니다. 대부분이 솔루션은 자바 스크립트입니다.