私はColdfusionでアプリケーションを構築していますが、基本的にメンバーシップの有効期限を追跡するモジュールです。私はすべてのメンバーのインデックスを作成しています。私はcfgridを使いたいと思っています。ColdFusion:条件に基づいてCFGridの行をハイライトしますか?
メンバーシップの有効期限が切れてからx日以内に強調表示される方法がありますか?
ありがとうございます!
私はColdfusionでアプリケーションを構築していますが、基本的にメンバーシップの有効期限を追跡するモジュールです。私はすべてのメンバーのインデックスを作成しています。私はcfgridを使いたいと思っています。ColdFusion:条件に基づいてCFGridの行をハイライトしますか?
メンバーシップの有効期限が切れてからx日以内に強調表示される方法がありますか?
ありがとうございます!
これを行うには、JavaScriptを自分で書く必要があります。最初にColdFusion.Grid.getGridObjectを介してExtJSオブジェクトを取得し、ExtJSドキュメント(http://dev.sencha.com/deploy/dev/docs/)を参照して何ができるかを確認します。
また、ColdFusionで計算を行い、別の列をグリッドに追加することもできます。
はい
<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>