Thanks Dario very much, now it seem ok. but in html file, javascript code, when data stock changed, function updateItem(item, updateInfo) doesn't work.
Last time, i have a question for this issue, and u have to answer the question, but i followed by your instruction, i didn't have successful. I don't know, what are there steps i wrong? Please help me again.
Here my changed
-----"default.html" file --------
<script>
for (var i = 1; i <= 30; i++)
{
var suff = (i % 2 == 1) ? "A" : "B";
document.write('<tr class="lscold'+suff+'">');
document.write('<td> </td>');
document.write('<td class="stockname'+suff+'"><div source="lightstreamer" table="list" item="'+i+'" field="stock_symbol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ref_price"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ceiling"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="floor"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="open_price"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="max"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="min"> - </div></td>');
document.write('<td> </td>');
document.write('<td> </td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="close_price"> - </div></td>');
document.write(' <td><div source="lightstreamer" table="list" item="'+i+'" field="close_vol"> - </div></td>');
document.write('<td> </td>');
document.write('<td> </td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid3"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid3vol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid2"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid2vol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid1"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="bid1vol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="last_price"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="lastVol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="pct_change"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask1"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask1vol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask2"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask2vol"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask3"> - </div></td>');
document.write('<td><div source="lightstreamer" table="list" item="'+i+'" field="ask3vol"> - </div></td>');
document.write('</tr>');
}
</script>
//////////////////////////Event handlers
var redColor = "#f8b87a";
var greenColor = "lightgreen";
function updateItem(item, updateInfo) {
if (updateInfo == null)
{
return;
}
if (updateInfo.isValueChanged("pct_change")) {
var val = updateInfo.getNewValue("pct_change"); if (val.indexOf("-") > -1) {
updateInfo.addField(216,imgDown);
} else {
updateInfo.addField(216,imgUp);
}
}
var oldLast = updateInfo.getOldValue("last_price");
var newColor;
if (oldLast == null) { //first update for this item
updateInfo.addField(214,greenColor,true); //no fade for snapshot
if (doFade) {
updateInfo.addField(215,"OFF",true);
}
} else if (updateInfo.isValueChanged("last_price")) {
//at least second update
if (oldLast > updateInfo.getNewValue("last_price")) {
updateInfo.addField(214,redColor,true);
} else {
updateInfo.addField(214,greenColor,true);
}
if (doFade) {
updateInfo.addField(215,"ON",true);
}
}
}
function formatValues(item, itemUpdate) {
if (itemUpdate == null) {
return;
}
if (doFade) {
if (itemUpdate.getServerValue(215) == "ON") {
itemUpdate.setHotToColdTime(300);
}
}
itemUpdate.setHotTime(600);
if (itemUpdate.getServerValue(13) == "inactive") {
carryBackUnchanged(itemUpdate);
itemUpdate.setRowAttribute("#808080","#808080","co lor");
} else {
if (itemUpdate.getFormattedValue(13) != null) {
carryBackUnchanged(itemUpdate);
itemUpdate.setRowAttribute("#000000","#000000","co lor");
itemUpdate.setAttribute(12,"#000080","#000080","co lor");
}
//choose the backgroundColor
var backC = (item % 2 == 1) ? "#eeeeee" : "#ddddee";
var backH = itemUpdate.getServerValue(214); itemUpdate.setRowAttribute(backH,backC,"background Color");
//choose the "change" field stylesheet
var newChng;
if ((newChng = itemUpdate.getFormattedValue(3)) != null) {
var hotTxtCol = (newChng.charAt(0) == '-') ? "#dd0000" : "#009900";
itemUpdate.setAttribute(3,"black",hotTxtCol,"color ");
itemUpdate.setAttribute(3,"bold","bold","fontWeigh t");
}
itemUpdate.setAttribute(12,backC,backC,"background Color");
}
//format the timestamp
var time = itemUpdate.getFormattedValue(2);
if (time != null) {
time = formatTime(time);
itemUpdate.setFormattedValue(2,time);
}
//format the "number" fields
for (var i = 1; i <= 11; i++) {
if (i == 2 || i == 4 || i == 7) {
continue; //"string" fields
}
var newValue = itemUpdate.getFormattedValue(i);
if (newValue == null) continue;
var formattedVal = formatDecimal(newValue, 2, true);
if (i == 3) {
if (formattedVal > 0) {
formattedVal = "+" + formattedVal;
}
formattedVal += "%";
}
itemUpdate.setFormattedValue(i,formattedVal);
}
}
////////////////Global var declaration
var group = ["item1", "item2", "item3", "item4","item5", "item6", "item7", "item8","item9", "item10", "item11", "item12","item13", "item14", "item15", "item16", "item17", "item18", "item19", "item20", "item21", "item22", "item23", "item24", "item25", "item26", "item27", "item28", "item29", "item30"];
var schema = ["last_price", "time", "pct_change","bid1", "bid2", "bid3", "bid1vol", "bid2vol", "bid3vol", "ask1","ask2", "ask3", "ask1vol", "ask2vol", "ask3vol", "min", "max","ref_price", "open_price", "stock_name", "stock_symbol", "ceiling", "floor", "lastVal", "lastVol", "close_price", "close_vol"];
var newTable = new OverwriteTable(group, schema,"MERGE");
----------
Now i want to changed, if all of items :
lastVal, lastVol, last_price, bid1, bid2, bid3, ask1, ask2, ask3, bid1vol, bid2vol, bid3vol, ask1vol, ask2vol, ask3vol, pct_change
has values modified, it will be fill by color (if current value < old_value, fill by red color, else fill by green color)
Please help me again.
Bookmarks