0

我正在使用 javascript 循环来创建一个由数字组成的表格。该代码当前可以很好地创建表格,并且我已经为其添加了一些样式。我遇到的问题是找到一种方法来比较单元格列中的数据,以突出显示该组中该列的最佳和最差表现。

这是我正在使用的 javascript 函数。

function performanceMetricsLoad() {
var records = storePerformanceMetricsData.getRecordsValues();
var groupTracker = null;
var assetTracker = null;
var htmlStr;
htmlStr = "<table class='TableStyles'><thead class='HeaderStyles'><tr><th width='400'>Name</th><th width='110'>1 month Cumulative Performance to "
            + records[0].DatetimeRecorded.format("F j, Y") + "</th><th width='110'>3 month Cumulative Performance to "
            + records[0].DatetimeRecorded.format("F j, Y") + "</th><th width='110'>6 month Cumulative Performance to "
            + records[0].DatetimeRecorded.format("F j, Y") + "</th><th width='110'>12 month Cumulative Performance to " 
            + records[0].DatetimeRecorded.format("F j, Y") + "</th></tr></thead><tbody>";

for (var i = 0; i < records.length; i++) {

    if (groupTracker != records[i].ClassOption) {
        htmlStr += "<tr>" + "<td class='GroupStyleCSS' colspan='5'>" 
        + records[i].Diversification + "</td></tr>";
        groupTracker = records[i].ClassOption;
    }

    if (groupTracker == records[i].ClassOption) {
        htmlStr += "<tr>" + "<td class='RecordCssStyle'>" + records[i].AssetLongName
        + "</td>"+ "<td class='RecDiv'>" + records[i].TotalReturn1m.toFixed(2)
        + "</td>" + "<td class='RecDiv'>" + records[i].TotalReturn3m.toFixed(2)
        + "</td>" + "<td class='RecDiv'>" + records[i].TotalReturn6m.toFixed(2) 
        + "</td>" + "<td class='RecDiv'>" + records[i].TotalReturn12m.toFixed(2) + "</tr>"; 
        assetTracker = records[i].AssetLongName;
    }
}

htmlStr += "</tbody></table>";
createRow("", htmlStr);
frmMetrics.doLayout();

}

function createRow(cls, text) {
frmMetrics.add(new Ext.BoxComponent({
    cls: cls,
    html: "<div>" + text + "</div>"
}));

}

信息被输出到 EXT formPanel。

我现在遇到的问题是我有它输出我需要的信息,以找到一种方法来突出显示列内、分组内的最佳和最差表现者......

该表在基金名称的顶部输出 5 列,在基金名称的左侧输出多达 10 个组,这些组按其“多样化”分组,具体取决于使用 SQL 查询请求的信息。

有没有人知道我可以用这段代码的当前状态来做到这一点?我正在考虑使用另一个外部函数,可能还有一些 if 语句选择不同的 css 类......任何帮助将不胜感激。非常感谢。

抱歉缺少截图,我试图包括一些,但显然我需要 10 的声誉分数才能做到,或者类似的东西......

4

1 回答 1

0

将这两行添加到函数的顶部

var largest;
var smallest;

然后在你的循环中,添加:

if(value > largest){
    largest = value;
}
if(value < smallest){
    smallest = value;
}

如果您想为具有这些值的单元格添加样式,请添加一行以存储这些值的索引(以相同的方式更新)并使用 css 为 ID 设置 or 和 select。

于 2013-07-19T15:10:52.813 回答