Я использую цикл javascript для создания таблицы, состоящей из цифр. В настоящее время код создает таблицу, и я добавил к ней некоторые стили. Проблема, с которой я столкнулся, - найти способ сравнить данные внутри столбцов ячейки, чтобы выделить лучшего и худшего исполнителя внутри этой группы для этого столбца.Мне нужно сравнить данные в строках таблицы html
Вот функции 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-запроса.
Есть ли у кого-нибудь идеи, как я могу это сделать с текущим состоянием этого кода? я думал об использовании другой внешней функции и, возможно, о некоторых случаях, когда вы выбираете разные классы css ... любая помощь будет принята с большой благодарностью. Большое спасибо.
извините за отсутствие скриншотов, я попытался включить некоторые, но, видимо, мне нужна репутация 10 баллов, прежде чем я, или что-то вдоль этих линий ...
Разве это не программирование 101, чтобы найти самое большое и наименьшее число? хорошо вы можете создать переменную для самых больших и малых, и при создании каждой строки сравните значение с наибольшим и наименьшим. Если это больше, чем наибольшее изменение, то наибольшая переменная и та же самая с наименьшим. – user1
Определенно ** не ** использовать DOM для хранения данных. Это очень медленно. Выполняйте все ваши сравнения в JavaScript с использованием переменных JavaScript при добавлении строк и добавьте дополнительные классы CSS в те, которые в нем нуждаются. – Corion
Если вы уже используете Ext, я полагаю, что вы, по крайней мере, довольны внешним видом. Итак, почему бы не разорвать необработанную таблицу и вместо этого использовать Ext.grid.Panel? Вы могли бы использовать это хранилище, которое представляет структуру данных показателей производительности. Затем вы можете использовать функциональность Ext framework (например, в функции рендеринга столбца) для форматирования. –