Hello,
I have a grid that uses a datasource that calls read() on a timer, so it will continually/auto updated. I want to highlight new rows added to my grid, which I should be able to do easily if there were a grid row added event, but there doesn't seem to be one.
Any suggestions on how I can go about accomplishing this?
Thanks!
I have a grid that uses a datasource that calls read() on a timer, so it will continually/auto updated. I want to highlight new rows added to my grid, which I should be able to do easily if there were a grid row added event, but there doesn't seem to be one.
Any suggestions on how I can go about accomplishing this?
Thanks!
4 Answers, 1 is accepted
0
Hello Levi,
On read complete all grid rows are treated as pristine. What that means is that from Grid/DataSource perspective there aren't new rows.
Regards,
Nikolay Rusev
the Telerik team
On read complete all grid rows are treated as pristine. What that means is that from Grid/DataSource perspective there aren't new rows.
Regards,
Nikolay Rusev
the Telerik team
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
0
Levi
Top achievements
Rank 1
answered on 19 Sep 2012, 02:20 PM
OK, yeah I was thinking about this last night and realized this was probably the case. The only way I can think of doing this would be to keep track of what I've read from the datasource and compare new data with old, which could probably get very ugly, very fast, and would not be worth the hassle. Any suggestions if you have them would definitely be appreciated, though!
Thanks for the reply.
Thanks for the reply.
0
Hello Levi,
One way to approach the problem is as in the following sample: http://jsbin.com/umafet/6
Have in mind that there is heavy simulation of new data in the sample above, but the idea remains the same - i.e storing original(prev binding) keys, compare them with the current ones and then highlight the row.
Regards,
Nikolay Rusev
the Telerik team
One way to approach the problem is as in the following sample: http://jsbin.com/umafet/6
Have in mind that there is heavy simulation of new data in the sample above, but the idea remains the same - i.e storing original(prev binding) keys, compare them with the current ones and then highlight the row.
Regards,
Nikolay Rusev
the Telerik team
Join us on our journey to create the world's most complete HTML 5 UI Framework - download Kendo UI now!
0
Levi
Top achievements
Rank 1
answered on 24 Sep 2012, 01:42 PM
Cool, thanks for the sample code! Much appreciated!
This was actually very close to what I needed. Your example appears to highlight old data, while I need to highlight new data. Here is the change I made:
This was actually very close to what I needed. Your example appears to highlight old data, while I need to highlight new data. Here is the change I made:
dataBound:
function
(e) {
var
grid =
this
;
// get current keys
var
keys = $.map(dsTerminalTransactions.view(),
function
(item) {
return
item.id;
});
var
newkeys
= $.grep(keys,
function
(item) {
return
$.inArray(item, origKeys) == -1;
});
$.each(newkeys,
function
(idx, key) {
var
uid = dsTerminalTransactions.get(key).uid;
grid.tbody.find(
"[data-uid="
+ uid +
"]"
).css(
"background-color"
,
"yellow"
);
});
origKeys = keys;
}