date.js を使用して条件付き書式をデータ グリッドに適用しています。データは JavaScript 配列から解析されます。これを除いて、私の条件はすべて正しく機能しています:
if (値 < 今日 && 値 > '01-01-2000')
val は変更できない MM-dd-yyyy 形式の文字列です。そこで、date.js を使用して、今日の日付を MM-dd-yyyy 形式の文字列に変換し、比較しました。問題は、文字列を比較しているため、01-17-2014 が 04-08-2013 よりも小さいと見なされることです。
これを回避する最善の方法は何ですか?
シンプルにしたいので、そもそも文字列に変換したのですが、年号の回避方法がわかりません。
助けてくれてありがとう!
var today = new Date.today().toString("MM-dd-yyyy");
var tomorrow = new Date.today().addDays(1).toString("MM-dd-yyyy");
var upcoming = new Date.today().addDays(7).toString("MM-dd-yyyy");
function eXcell_edncl(cell) {
this.base = eXcell_edn;
this.base(cell);
this.setValue = function(val) {
if (val.indexOf('ACT') >= 0) this.cell.style.backgroundColor="lightgreen";
else if (val.indexOf('PV') >= 0) this.cell.style.backgroundColor="lightgreen", this.cell.style.fontSize="20px";
else if (val.indexOf('YES') >= 0) this.cell.style.backgroundColor="lightgreen", this.cell.style.fontSize="20px";
else if (val < today && val > '01-01-2000') this.cell.style.backgroundColor="red";
else if (val == today) this.cell.style.backgroundColor="orange";
else if (val == tomorrow) this.cell.style.backgroundColor="yellow";
else if (val > tomorrow && val <= upcoming) this.cell.style.backgroundColor="lightyellow";
else this.cell.style.backgroundColor="";
this.cell.innerHTML = this.grid._aplNF(val, this.cell._cellIndex);
}
}