style visited rows differently
I'd like to style the rows that have been accessed differently from others.
in my grid, i use the mouseover code to show the cursor position.
and the .active-grid-row selector to style the current selected row.
once a row has been selected i'd like to show it as italics. (like the difference between a read and unread message in outlook)
I'm sure it is easily done, I just can't figure it out from the examples or the forum
thanks.
btw: if I get this working It will result in a multi-server multi-developer license purchase.
diablo
August 14,
answering my own question....
function gridClick(src) {
var index = parseInt(grid.getProperty("selection/index"));
visited[index]=1;
grid.refresh();
...
}
visited = new Array(myData.length);
var visit = function(){
return visited[this.getProperty("row/order")] ? "normal italic" : "bold" ;
}
...
var row = new Active.Templates.Row;
row.setEvent("onmouseover", "mouseover(this, 'active-row-highlight')");
row.setEvent("onmouseout", mouseout(this,'active-row-highlight')");
row.setStyle("font", visit);
grid.setTemplate("row", row);
grid.setAction("selectionChanged", function(src){gridClick(src)});
every time a row is selected I set the value in the array and then the visit function will return the correct function.
redrawing a single row would helpful as the grid.refresh() is relatively expensive
diabl0
August 14,
grid.getTemplate("row", i).refresh();
diablo
August 14,
dammit... sorting breaks it.
getting closer though...
August 14,
the following works a charm. changed my tracking array to a hash.
and switched the visit function to item/index
schwwwwweeeeet!
function gridClick(src) {
var index = parseInt(grid.getProperty("selection/index"));
var id = myData[index][1];
visited[id]=1; // column 1 is my primary key
grid.refresh();
...
}
visited = new Array();
var visit = function(){
return visited[this.getProperty("item/index")] ? "normal italic" : "bold" ;
}
...
var row = new Active.Templates.Row;
row.setEvent("onmouseover", "mouseover(this, 'active-row-highlight')");
row.setEvent("onmouseout", mouseout(this,'active-row-highlight')");
row.setStyle("font", visit);
grid.setTemplate("row", row);
grid.setAction("selectionChanged", function(src){gridClick(src)});
August 14,