2010-12-28 8 views

답변

1

이렇게하려면 JavaScript를 직접 작성해야합니다. 먼저 ColdFusion.Grid.getGridObject를 통해 ExtJS 객체를 가져 와서 ExtJS 문서 (http://dev.sencha.com/deploy/dev/docs/)에서 무엇을 할 수 있는지 확인하십시오.

또 다른 옵션은 ColdFusion에서 계산을 수행하고 그리드에 다른 열을 추가하는 것입니다.

0

<cfajaximport/> 
<html> 

<head> 
<script> 

myf = function(data,cellmd,record,row,col,store) { 
    // hard code a date to check against "13 Jan 2011" 
    // note 0 based month index 
    var today = new Date(2011,0,13); 
    if(data < today) { 
     //before displaying format the date 
     var curr_date = data.getDate(); 
     var curr_month = data.getMonth(); 
     //javascript has month as a 0 based index so add one 
     curr_month++; 
     var curr_year = data.getFullYear(); 
     return "<span style='color:red;font-weight:bold;'>" + curr_date + "-" + curr_month + "-" + curr_year + "</span>"; 
    } 
    else { 
     //before displaying format the date 
     var curr_date = data.getDate(); 
     var curr_month = data.getMonth(); 
     //javascript has month as a 0 based index so add one 
     curr_month++; 
     var curr_year = data.getFullYear(); 
     return curr_date + "-" + curr_month + "-" + curr_year; 
    } 
} 
testgrid = function() { 
    mygrid = ColdFusion.Grid.getGridObject('data'); 
    cm = mygrid.getColumnModel(); 
    // render the first column (0 based index) using the myf function above 
    cm.setRenderer(0,myf); 
    mygrid.reconfigure(mygrid.getDataSource(),cm); 
} 
</script> 
</head> 

<body> 

<!--- create a hard coded query for testing ---> 
<cfset data = queryNew("expiryDate,member")> 
<cfloop from=1 to=31 index="i"> 
    <cfset expiryDate = createDate(2011,1,i)> 
    <cfset member = "Member #i#"> 
    <cfset queryAddRow(data)> 
    <cfset querySetCell(data, "expiryDate", expiryDate, i)> 
    <cfset querySetCell(data, "member", member, i)> 
</cfloop> 

<cfform name="test"> 
<cfgrid autowidth="true" name="data" format="html" query="data" width="600"> 
    <cfgridcolumn name="expiryDate" header="Expiry Date"> 
    <cfgridcolumn name="member" header="Member"> 
</cfgrid> 
</cfform> 

<cfset ajaxOnLoad("testgrid")> 
</body> 
</html> 
관련 문제