2010-12-28 8 views
0

私はColdfusionでアプリケーションを構築していますが、基本的にメンバーシップの有効期限を追跡するモジュールです。私はすべてのメンバーのインデックスを作成しています。私はcfgridを使いたいと思っています。ColdFusion:条件に基づいてCFGridの行をハイライトしますか?

メンバーシップの有効期限が切れてからx日以内に強調表示される方法がありますか?

ありがとうございます!

答えて

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> 
関連する問題