3.2.0

AW 2.0.2 - new bug-fix release.

Edit: AW 2.0.2 released Feb 23, 2007.

I am planning to release 2.0.2 next week. Sorry that it took so much time since the last one - I'll try to make point releases much more often in the future. The new release includes mostly bug fixes but also some minor new features -

* full support for IE7 and FF2
* password control (AW.UI.Password)
* disabled state for all controls
* focus() method for all controls
* 12h time formatting options (AM/PM, h)
* multi-row (range) and multi-cell selections in the grid control
* built-in IE image flicker fix

Here is a new version (update: released Feb 23) -

http://www.activewidgets.com/download/activewidgets-2.0.2-trial.zip

I would be very grateful if you can quickly check if your application still works with the new code. There should be no breaking changes in the code, however it would be great if more people can verify this :-)

Here is the list of bugs fixed in 2.0.2 -

http://www.activewidgets.com/general.bugs/2-0-2.html


I would also appreciate if you can share your views on what should be the priorities for AW development for the next 3-4 months. Here is the current plan -

Fix remaining bugs :-)
Documentation and examples
Safari and Opera support
Date picker/calendar controls
Grid - paging
Grid - rearrange columns via drag and drop
Tree control - keyboard navigation

Any thoughts?

Alex (ActiveWidgets)
February 14,
Nice Alex, ill try it asap :-)

Grid Paging would be nice... and Rearrange Columns using drag n drop.

And about multiple-headers in grid? I mean...

| header1xxxxxxxxxxxxxxxxxx|
| header 2 | header3|

And group in grid.

Anyway, tkz for everything :-)
Pc (from Brazil)
February 14,
I forget something...
this release will fix this bug?

// fix
        // when add rows
    obj.raiseEvent("adjustScrollHeight");
    obj.raiseEvent("adjustScrollBars");
Pc (from Brazil)
February 14,
I have coded the column drag and drop rearrange. Would you be interested in it?
Joel
February 14,
Hi Alex,

From the current plan, the most important to me are fixing bugs and Safari and Opera support.

Still testing the release candidate, but there's one bug I observed with resizing the selector column in FireFox 2.

Just load up this code in FF2 and try resizing the selector column.

<html>
<head>
    <script src="activewidgets/runtime/lib/aw.js"></script>
    <link href="activewidgets/runtime/styles/xp/aw.css" rel="stylesheet"></link>

</head>
<body>
<script>
    var obj = new AW.UI.Grid;
    obj.setCellText(function(i, j){return j + "." + i});
    obj.setHeaderText("header");

    obj.setColumnCount(10);
    obj.setRowCount(100);

      obj.setSelectorVisible(true);
      obj.setSelectorResizable(true);

    obj.setCellEditable(true);

    document.write(obj);
</script>
</body>
</html>
Ankur Motreja
February 15,
Just checked and looks like selector column resizing isn't working in IE7 either.

Ankur
Ankur Motreja
February 15,
Previously, this code to raise an event on double clicking the separator used to work, but it doesn't in the release candidate.
Do I need to modify the code below to get this to work or is it a bug that needs to be fixed in AW ?

Overall, it looks quite stable so far. Just these 2 minor issues.

Ankur

<html>
<head>
    <script src="activewidgets/runtime/lib/aw.js"></script>
    <link href="activewidgets/runtime/styles/xp/aw.css" rel="stylesheet"></link>

</head>
<body>
<script>
    var obj = new AW.Grid.Extended;
    obj.setCellText(function(i, j){return j + "." + i});
    obj.setHeaderText("header");

    obj.setColumnCount(10);
    obj.setRowCount(100);

    obj.setCellEditable(false);

    obj.getSeparatorTemplate().setEvent("ondblclick", function(event){
        this.raiseEvent("onSeparatorDoubleClicked", event, this.$0);
    });

    obj.onSeparatorDoubleClicked = function(event, col){
        alert("separator double clicked: " + col);
    }

    document.write(obj);
</script>
</body>
</html>
Ankur Motreja
February 15,
ok, just one more.
text wrap doesn't seem to work in IE7 and FF2.

<html>
<head>
    <script src="activewidgets/runtime/lib/aw.js"></script>
    <link href="activewidgets/runtime/styles/xp/aw.css" rel="stylesheet"></link>

</head>
<body>
<script>
    var obj = new AW.Grid.Extended;
    obj.setCellData(function(i, j){return j + "." + i});
    obj.setHeaderText("header");

    obj.setCellData("line 1,<BR>line 2<BR>line 3", 1, 1);

    obj.setColumnCount(10);
    obj.setRowCount(100);
    obj.setRowHeight(40);
    obj.getRowTemplate().setClass("text", "wrap");

    obj.setCellEditable(false);

    document.write(obj);
</script>
</body>
</html>
Ankur Motreja
February 15,
@Joel: if you can publish your drag-and-drop code that would be great! Also for those who don't want waiting until the next release :-)

@Ankur: Thanks a lot! Fixing it now...
The textwrap bug is actually in setClass code, so may affect other things. I will post the corrected code later today.
Alex (ActiveWidgets)
February 15,
Fixed setClass() and selector resizing bugs. Here is the new package (rc2) -

http://www.activewidgets.com/download/activewidgets-2.0.2rc2-trial.zip

Alex (ActiveWidgets)
February 15,
alex, one more thing stoped work in your last release candidate:

gridFlutuante.defineRowProperty("processColorEstoque", function(row){ 
        var estoque = this.getCellValue(3, row);
        return (estoque>0) ? "white" : "red";
    }); 

    gridFlutuante.getRowTemplate().setStyle("background-color", function(){ 
        return this.getRowProperty("processColorEstoque"); 
    });


the function "processColorEstoque" is never called.

If i put the 2.0.1 release work fine.

Tkz.
Pc (from Brazil)
February 15,
This should be fixed now in rc2 - could you check please?
Alex (ActiveWidgets)
February 15,
My vote :
1 & urgent- Safari and Opera support
2- Date picker/calendar controls
3- Tree control - keyboard navigation
4- Grid - paging
5- Grid - rearrange columns via drag and drop
6- Documentation and examples
Thierry Nivelet
February 16,
And My vote :
Fix remaining bugs
Documentation and examples
Grid - paging
Grid - rearrange columns via drag and drop
Tree control - keyboard navigation
Date picker/calendar controls
Safari and Opera support

Some other features that will make this product much more commercially robust are -
Tree Grid
Merged/Split cells in row & column headers
Filtering
Multi Column sorting support
Customisation based on user preferences
Grouping and sub totalling
Copy/paste to/from MS excel
Data downloads as csv, txt, tab delimited
Ability to transpose the grid


Girish Khemani, Fidelity
February 16,
What mystifies me is that no one mentions printing capabilities. Am I missing something or does no one need to be able to print the grid data? Is there already a robust solution to this? If yes, please share!

If not, I would add that to the list.
Joel
February 16,
Yes, the rc2 fixed the defineRowProperty bug.
Tkz Alex.
Pc (from Brazil)
February 16,
For my part, Safari support is the #1 issue.

Thanks for all your hard work!
Sasha
February 17,
Alex, reliable Drag and Drop would be a crowd pleaser.

Joel, on your printing issue. The best way to solve printing would be to send the same data set you use to build whatever grid you are looking at to some pdf rendering thingy. The approach I use with php is to load my data from sql or other source into a php array, once in a php array I convert that to javascript (for UI with AW) For printing, I use PDF, so I send that php array to a little grid builder I made with PDF lib (a great tool). This way I can just modify the header to change which renderer to use on the same dataset.
Pat
February 18,
I did some testing with 2.0.2rc2 (with IE7 on Vista business): Our application still works with this code.

One ‘old’ problem still remains: the ‘cleartype’ issue. 2.0.2 still uses the CSS ‘dummy’ filter?

The priorities for AW development for the next 3-4 months: for us ONE wish: try to fasten the painting of the grid rows while scrolling. From the source it seems after an event (scrollbar or keydown) that the visible rows (and some above the first en after the last) are repainted, even the rows that where painted before: even when a user scrolls-back, during a second a black screen is shown. Is it possible to do some re-enginering? Repaint only non-painted rows? And keep painting next rows while the grid is ‘idle’?
We now keep using AW version 1 for large data grids because 1.0 is much faster…
Eric Aarts
February 19,
OK with Eric Aarts I found AW 2 too slow, specially while scrolling. 100% CPU is used during long seconds.




Thierry
Thierry
February 19,
Yes, improving performance is another very important task.
Alex (ActiveWidgets)
February 19,
Do not forget sort operations which are very very long
Thierry
February 20,
Alex,

I have to echo the comments of Eric and Thierry. I would put grid scrolling performance at the top of the list for me, far above anything else. I am using the grid in a new application that browses a number of database tables. Loading the data from the database on demand in blocks works well and with virtual mode can handle any size table. But scrolling through the table causes a very significant delay in repainting the new rows, even on a relatively fast (2+Ghz) machine. I have tried to optimize the grid as much as possible using comments posted elsewhere in the forum, but haven't achieved any useful improvements. I'm using the standard grid, not the extended grid. I have optimized the JavaScript table attached to the grid to the bare minimum (array of rows only, using split on demand to break a row into columns). I tried switching the grid to use AW.Templates.Cell, but found that it didn't improve the performance noticeably and the cells couldn't be edited.

But users are complaining heavily about how long it takes to scroll. Are there any other tricks I should be using to minimize the repaint time when scrolling through the grid?
Randall Severy
February 20,
Guys,

I found without a doubt that using CSV files instead of javascript array improves the performance drastically. I use 50,000+ row datasets and the javascript array was causing wait times of 4-8 seconds depending on the data per scroll. Converting to CSV brought it back down to .5 to 2 seconds.
I'm not sure what the difference is but give it a try.
Joel
February 20,
Pat,

Could I please email you with a question or two on the specifics on how you accomplish the printing? I am at joel@risksolutionscorp.com.

I would appreciate it greatly!
Joel
February 20,
Joel,

Alex can correct me if I'm wrong, but I believe that using a one-dimension Javascript array (and parsing the individual cells on demand using split) is nearly identical to how the CSV interface works. Going from a two-dimension array to one dimension definitely shaved off about 25-30% of the original delay. I'm also loading the data into the array on demand, so the array size is general fairly small unless the user scrolls through the entire dataset. The issue I'm running into appears to be purely the rendering time for the grid cells after a scroll. The users of this application are very picky, so even a 2-second repaint delay is considered too long.
Randall Severy
February 20,
Randall,

You might want to give it a test. I hear what you are saying regarding the 2 second delay. Especially in IE - it seems very sensitive to the number of objects instantiated in Javascript.

I just ran a report with 5 columns and 52,000 rows. The repaint is somewhere between .5-1 second.
Joel
February 20,
Joel,

What version of IE and what speed CPU are you running? I'm finding that the repaint speed is heavily dependent on both. At home I'm running IE 6 (on Windows 2000) on a 2.4Ghz CPU and the repaint is between 1-2 seconds. Here in the office I'm running IE 7 (on Windows XP) on a 2.4Ghz CPU and the repaint is a second or less (they apparently did quite a bit of performance tuning of the Javascript engine in IE 7). The users at the client site are all running IE 6 on CPUs ranging from 1.8GHz to 2.4GHz, and on the slower computers the repaint speed can be 2 seconds or higher. For further reference, I'm seeing about the same repaint delay in the AW virtual sample page, which doesn't even use an array at all, so I'm pretty sure any remaining delay is in the repaint processing itself.

Randall Severy
February 20,
Randall,

I'll re-check it - I was testing on a laptop which is home. It is Windows XP. I'm running IE 6. Have to check the CPU speed on it.

Definitely check the virtual sample page and see what the repaint time is. I found it to be nominal but my own page originally was 4-8 seconds.

The difference between the AW virtual page example is that it is not using the javascript array but creating dummy data on the fly via a method call. When I replaced my array with the method, the repaint was very fast. So I'm not sure if it is simply the repaint. You are definitely correct in regard to IE 7 - I think it handles the multiple javascript objects more adeptly.

And again, when I went to CSV, it sped up to a max of 2 seconds - but most of the time less. I agree with your users, 2 seconds is even too long...



Joel
February 20,
Hello,

CSV data are not handled correctly: at loading, enquoted empty data (ie "","","") are display as a doublequote " text and as &quot; data (was a single quote in v2.0.1).

Bye,
TMTisFree
TMTisFree
February 20,
In my view things which affect grid performance are

- possible memory leaks, always restart your pc before testing :-)
- grid size, columns (total) x rows (visible, when in virtual mode)
- data pre-processing, especially any kind of string concatenation
- which cell templates you are using (cell-fast, checkbox-ok, combo-slow)
- how many other grids are on the same page
- overall page complexity, structure of html tables if used for layout
- total number of javascript objects (becomes slow if >1M)

The grid with 5 columns and small height should be relatively fast, but if you try 30-50 columns and full page height - that will be very slow.

Switching from js to csv makes sense when you have >50k rows, the script block of this size slows down javascript for some reason.

I will be optimizing virtual mode algorithm for the next major release. Hopefully this will make scrolling experience much better.
Alex (ActiveWidgets)
February 21,
@TMTisFree - thanks a lot! For some reason I thought that empty fields should not be surrounded by quotes. Fixed now.

I have uploaded the fixed code as rc3 -

http://www.activewidgets.com/download/activewidgets-2.0.2rc3-trial.zip

Hopefully this will be the final one.
Alex (ActiveWidgets)
February 21,
Here is my list of priorities:

Top priority:
Safari and Opera support
Fix remaining bugs

Mid priority:
Documentation and examples

Low Priority:
Tree control - keyboard navigation
Date picker/calendar controls
Grid - paging
Grid - rearrange columns via drag and drop

Documentation and examples would be high priority if I had just started using AW's, but i'm adept enough with them now not to bother too much.

Thanks and keep up the good work Alex!
James at i4.
February 21,
It still seems to me that no one has an answer on how to print large datasets (500+ rows). I'd really like to see this enhancement. Is anyone successully printing large grids?

Alex - do you have a suggestion on how to handle this? I'd be glad to try it. I tried using Javascript and I get a message from IE:

"A script on this page is causing Internet Explorer to run slowly. If it continues to run, your computer may become unresponsive. Do you want to abort script?".

For a 5000 row grid, this message appears twice.

Any suggestions, please?

Joel
February 21,
Hello,

I confirm the loading of CSV data is now working as expected, thanks for your fix(es).
Adding and removing row is working as well (with a CSV table).
Just a minor annoyance: after deleting a row, adding another one displays the deleted text/data/values very fast and that disappear as fast. Probably the row is not really deleted but some kind of hidden? Not a big deal.

Keep the good work.

Bye,
TMTisFree
TMTisFree
February 22,
Here's my input for prioritizing your upcoming development effort.

1. Fix remaining bugs
2. Date picker/calendar controls
3. Documentation and examples
4. Grid - paging
5. Grid - rearrange columns via drag and drop
6. Tree control - keyboard navigation
7. Safari and Opera support

ArdMan
February 22,
Released today -

http://www.activewidgets.com/download/activewidgets-2.0.2-trial.zip
Alex (ActiveWidgets)
February 23,
Are the owners of a purchased 2.0.1 version eligible to get the new 2.0.2 version?
If so, how?
Francesco_G
February 23,
Yes, this is a free upgrade for anyone who purchased either 2.0.0 or 2.0.1. Please send an email to sales at activewidgets.com
Alex (ActiveWidgets)
February 23,
Hello,

Using a CSV table and the new release (v2.0.2).

When editing a cell, data and value are not populated/updated automatically. Trying to populate them manually (respectively with obj.setData(data,col,row) and obj.setValue(value,col,row)) shows that data is not populated/updated at all while value is set correctly (respectively retreive with obj.getData(col,row) and obj.getValue(col,row) [and obj.getText(col,row) for reference].

This was working in v2.0.1.

Bye,
TMTisFree
TMTisFree
February 23,
Responding to myself ;)

Use setData and getData.

Bye,
TMTisFree
February 24,
1. Safari and Opera support
2. Grid - paging
3. Date picker/calendar controls
4. Tree control - keyboard navigation
5. Grid - rearrange columns via drag and drop
6. Documentation and Examples

The safari support more important than opera for me. I currently can't use AW in my new project because of it :(

A wish list item

Server bindings add projects for the larger used server side stuff like aspx and php. (I think the grid would really benefit the most from this)

Before people mention this is a javascript library I know I am just talking about the future of this excellent library not all people want to redo server side routines and it can push people away onto a server side solution which there are many becoming available these days.




J
February 28,
oh on the upgrade my company purchased 1 I think not 2 but we have v2.01 from the original free upgrade from v1 does this version count in this?
J
February 28,
If the original purchase was more than 12 months ago (version 1.x ?) then your subscription for the free updates has expired. In this case you may renew the update subscription for the additional 12 months -

12 months subscription (Developer license) USD 197.50 -
https://secure.shareit.com/shareit/checkout.html?productid=300063228

12 months subscription (Site license) USD 1225.00 -
https://secure.shareit.com/shareit/checkout.html?productid=300063229

If you bought the license less than 12 months ago (version 2.x ) then your update subscription is still valid and you can get this release free of charge by sending email to sales at activewidgets.com


Alex (ActiveWidgets)
February 28,
Hi all,

Thank you for these features / fixes - although these don't affect functionality I currently use, it's always nice to see development is active.

From your plan:
1. Safari and Opera support (tough I'd place Opera first, if there was the need to choose)
2. Grid - rearrange columns via drag and drop
3. Tree control - keyboard navigation
4. Date picker/calendar controls
5. Grid - paging
6. Documentation and examples
7. Fix remaining bugs :-)

Extra suggestions:
1. Column width auto-adjust
1.1 On user event (double-clicking on header separator, like in many desktop grid controls)
1.2 Automatic (setting column width according to contents after a full repaint and on changes - this can be too resource consuming, so a configuration flag would be nice if this was implemented)

Congratulations for this release and for the initiative to run this thread.

Regards,
Helder Magalhães
March 2,
As far as I'm concerned (I find it quite strange almost nobody has this need) I'd like to see the COLSPAN/ROWSPAN feature implemented in a standard way.

Will this be finally possible?

Ciao!

Fab
Fab
March 9,
From your plan:
0. Fix remaining bugs :-)
1. Safari and Opera support (tough I'd place Opera first, if there was the need to choose)
2. Grid - paging
3. Grid - rearrange columns via drag and drop
4. Tree control - keyboard navigation
5. Documentation and examples
6. Date picker/calendar controls
Andrey Matveev
March 13,
My vote:

#1: Safari support
#2: Safari support
#3: Safari support

:)
Matt
March 13,
Context Menu should be on your list somewhere.
:)

I tested the 2.0.2 code out. only problem I have found is the combo widget in my grid no longer works in FireFox. Well it actually works, it just does not allow you to see the cell contents.
HoseHead
March 14,
hi Joel about the code for the drag and Drop columnhs could you share it please ???
Sandip
April 12,
Excellent product so far Alex!

My vote for future enhancements:

#1: Performance improvements for grids with 50+ columns ;)
#2: Safari support
#3: Opera support
Stuart
April 12,
Alex, as long as you are solicting input. The next release of the product
should meet Section 508 and W3C standards for Accessibility. This is really need for AW.UI.Grid.
ShepherdOwner
April 19,

This topic is archived.

See also:


Back to support forum