large no. of record
Hi,
I would like to know how many columns*rows are too large for the grid?
I have tried to load data with 1000 rows * 15 columns, it took around a minute to finished the screen. was it normal? I also tried to load 5000 rows data that took 6-7 minutes to finished.
if yes, what's the limit row no. per page? any better idea to me?
Thank you for any help.
Jarlau
Jarlau
October 29,
Are you using 1.x or 2.x? In 2.x I have created grids with 10,000 rows and it displayed in less then a second. What browser are you using?
Jim Hunter
October 31,
Probably not the problem Jim, you replied with similar responses to my posts.
Hey Jarlau,
Are you building the javascript array by looping through a recordset?
If so, this is really slow. If you are doing it in asp, Check out the data island examples posted here. I was able to cut way down on the load time by using an xml data island instead of using the recordset looping example I found on the tutorials.
If you need help, post your code and I will see if anything looks wrong.
Jim Shaffer
October 31,
Hi Jim Hunter anad Jim Shaffer,
Thanks for your response.
I did use javascript array to build my grid.
So I have read the "examples/grid/xml - data island.htm"(I can't find the data island exmaple here) and integreated with my code. the response time is much faster than js array. but it still took 20 seconds to loaded 2000 row records. I have checked the time loading the xml data which just took a second, but display the result took very long time. any idea? I'm using 1.0.1 version. Browser is IE 6.0.
Pls read below code for your reference,
------------------------------------------------
<body>
<xml id="myData">
<!-- below is my xml string which only loaded in a second-->
<%=manager.toXML()%>
</xml>
<script>
// create ActiveWidgets data model - XML-based table
var table = new Active.XML.Table;
// get reference to the xml data island node
var xml, node = document.getElementById("myData");
// IE
if (window.ActiveXObject) {
xml = node;
}
// Mozilla
else {
xml = document.implementation.createDocument("","", null);
xml.appendChild(node.selectSingleNode("*"));
}
// provide data XML
table.setXML(xml);
// define column labels
var columns = ["Item code", "Order No.", "Status", "POL", "POD", "Date", "Brand", "Family", "Description", "Qty", "Terms", "Book Ref.", "Date Booking", "Invoice No.", "Vessel", "Voyage"];
// create ActiveWidgets Grid javascript object
var obj = new Active.Controls.Grid;
// provide column labels
obj.setColumnProperty("texts", columns);
// provide external model as a grid data source
obj.setDataModel(table);
// write grid html to the page
document.write(obj);
</script>
</body>
------------------------------------------------
In fact, which method(javascript array/xml in html/xml in seperate file/...etc) is the fastest way to load the gird?
Again, what is the no. of maxium row in grid?
Thanks again for your help. Awaiting your reply...
Best regards,
Jarlau
Jarlau
November 1,
I am guessing that your problem may be that version does not support virtual rows. I think that if you run the same data through the 2.0 software, it will run faster. Other than that, I am not sure.
As far as which way is faster, I would imagine that it is faster to use an xml stream than an xml file, because the xml file would have to be created and saved, whereas a data island only needs to render the code.
I could easily be wrong on one or all of the previous statements, good luck.
Jim Shaffer
November 1,
Version 1.0 requires 0.5-1 ms per cell. This means realistically you have to limit your number of records to around 100 and use paging above that.
Version 2.0 supports virtual rendering mode and this allows to work with very large datasets (up to 100 000 rows) because grid will only render visible part of the data.
Alex (ActiveWidgets)
November 2,