treetable applet v.1.23 (c)1998-2004 Scand LLC http://scand.com treetable applet v.1.23 new cell method: setEditType(int type) {1 inputbox|2 combobox} new cell method: setCombo(String labels, String values) labels,values - separated by grid delimiter ... Update date: 30 January 2004 treetable applet v.1.22 fixed bug - root tree lines paint added <param name="HideRootLines" value="1"> fixed bug in mousemoved (array index out of bounds) XML escape symbols &amp; &lt; &gt; fixed Tab edit check event 0 changed to 10 DblClick bug fixed (was for any mouse button, now for left one only) ... Update date: 30 September 2003 treetable applet v.1.21 HEIGHTi, BGIMAGEi, UNDERLINEi, STRIKETHROUGHi XMLDOC, BGCOLOR, HEADERBGCOLOR, TEXTCOLOR, BORDERCOLOR FONT, ZEBRA, BG_INVERT, SUPERHEADER_HEIGHTi, INPUT_ROW ONKEYPRESSED, ONSORT, ONXMLLOADED, COLUMN_RESIZABLE LISTVALUESi, WIDGETi, HEADER_HEIGHT, SORT_ON_INSERT HIDEROOTLINES, GET_DOC_DELIM ... Update date: 8 April 2003 treetable applet v.1.20 html in cell supported, tags <b>, <i>, <font face="" size="" color="">, <br> cell wrapping auto row height ondrag event handler ... Update date: 20 February 2003 treetable applet v.1.19 super-header definition via SUPERHEADERi header cells colspan - SUPERHEADER_COLSPANi row height definition - ROW_HEIGHT possibility to fix the first n columns, so they do not scroll (like row header) - FIXEDCOLS Update date: 20 January 2003 treetable applet v.1.18 header cell wrapping - JUSTIFY header bgcolor - HEADER_BGCOLOR support of file name, not only index, in IM0i Update date: 23 June 2002 treetable applet v.1.17 fixed bug - size in IE public void setCursor(int c) public String getRowId(int index) public void enablePopup(boolean val) public int getColumnCount() public boolean isMultiselect() public void setMultiselect(boolean val) public void insertRowAt(int index, String new_id, String text, String action) public int getRowIndex(String rowID) public String getHeaderCol(int i) public boolean isEditable() public JCell cells2(int id, int col) WIDGETi HEADER_ALIGNS UPDATEROW INPUT_ROW public void updateRow(String rowID, String params) -- public int getRootItemsCount() public int getChildItemsCount(String id) public void setRequestParam(String p) REQ_PARAM GET_DOC syntax Update date: 7 November 2001 treetable applet v.1.16 *** SAVE_MEM param unload of children on parent collapsing *** updateItem(String id) refresh item children list & data *** openItem(String id), closeItem(String id) *** OPENITEMS param *** getOpenedItems(String delim) *** SELECTITEM param selects & scrolls item to visible area *** setSelectedRow(String rowID, boolean multi, boolean show) selects & scrolls item to visible area *** showRow(String id) *** ONGETDOC_ERROR param *** New column property: sorttype={STRING|NUMERIC} *** Quick sort algorithm *** Speed up parsing with a StringTokenizer replacement *** Constructor performance changes to speed up large folders *** Set the cursor to an hourglass while opening a node *** Call setUseCaches(false) on the URL connection so that folder reload will not be cached by Netscape Update date: 12 June 2001 treetable applet v.1.15 *** realized fast repaint of row selection *** applet param : INITWIDTHS_PIX defines initial column widths in pixels. <param name="INITWIDTHS_PIX" value="87$120$5$90"> *** public void setInitWidths(String w) to set initial column widths in pixels at runtime. Use $ separated integer values. Should be called before setHeader() or setColumnCount(). *** applet param : DRAW_GRID if defined, applet will draw vertical and horizontal grid lines. <param name="DRAW_GRID" value="1"> Update date: 21 May 2001 treetable applet v.1.143 *** <param name="NOHEADER" value="1"> if specified, applet will not show header row. *** added a serie of params & methods helping to populate the applet from JavaScript at runtime - see below: *** <param name="COLUMN_COUNT" value="7"> should be specified if you use NOHEADER and if you didn't specified HEADER param. Defines the number of columns in grid. Default value is 1. Can be greather than number of elements in HEADER param - in this case remaining headers set to empty (""). *** <param name="HIDE_ON_LOAD" value="1"> If specified, applet will not paint itself until you call applet's showContent() method. Usefull if you populate the applet from JavaScript at runtime. *** new method setInitWidthsP("50$20$20$10") defines initial widths of columns in percent. Use $ separated integer values. Should be called before setHeader() or setColumnCount(). *** setHeader("1$2$3") defines header at runtime. Use $ separated labels. Should be called before filling of the grid content. *** setColumnCount(int i) defines column count at runtime (if you do not want to use setHeader()or you have hidden header). Should be called before filling of the grid content. *** showContent() forces repaint of the applet. Usefull in combination with HIDE_ON_LOAD param. Should be called obligatory if this param is specified. *** setHeaderCol(int column, String label) changes column header at runtime. Update date: 16 May 2001 treetable applet v.1.142 *** added ONEDITCELL, type=2 event It is fired just after editing when the cell is being leaved, so you can test if its content was really changed using new Cell method public boolean wasChanged() function oneditcell(type,rowid,col) { if(type==2) { var a=document.applets[0]; var s=a.cells(rowid,col); if(s.wasChanged()) alert('changed'); } } Update date: 7 May 2001 treetable applet v.1.141 *** param ONROWSELECT - define JS function to call just before any row becomes selected. <param name="ONROWSELECT" value="onrowselect"> function onrowselect(rowID,multi) { alert(rowID); alert(multi); } where String rowID - this row becomes selected boolean multi - if multiselect is requested (ctrl - key down or by user request.) *** <param name="MULTISELECT" value="1"> if this param is specified, multiselect is enabled (with ctrl-key down.) *** new column property: sortable={yes|no} if sortable=no user cannot sort this column. Default is yes. Case sensitive. <param name="COLUMN2" value="sortable=no"> *** public void copyRowContent(String from_rowID, String to_rowID); use to copy content of the whole row to any other row. Example: document.applets.a1.insertNewNext('112', '511','',''); document.applets.a1.copyRowContent('112', '511'); *** public void setUserData(String rowID, String data); public String getUserData(String rowID); to set/get row level data. You can use this methods to store some extra data or flags. You also can define this data via USERDATAi applet's param. Update date: 02 May 2001 treetable applet v.1.14 *** added support of images in any cell (TEXTi, <img=some.gif>), DELIM param to specify any character to use as param value delimiter, COLUMN_DRAGGABLE to enable runtime column reordering by dragging a header, SAVEONRELOAD param to store applet state upon page refreshing, setSelectedRow() method to select a row at runtime, setEditable() method to control cell editing at runtime, getVisibleItemIds() method. Update date: 28 april 2001 treetable applet v.1.13 *** added USERDATAi row param for extra data storage and getUserData() runtime method, ONEDITCELL event handler, NOCROSSES param to hide crosses and lines in treetable, COLUMNi param to define any column properties, combobox as cell edit widget (LISTi param, getCombo() method). Update date: 16 april 2001 treetable applet v.1.12 *** added rows multiselect with Ctrl-button down + API, checkboxes functionality, tree lines style customization, useful API functions for tree structure handling. Update date: 9 april 2001 treetable applet v.1.11 *** added popup menu functionality see MENU_ITEMS, MENU_INIT, MENU_ACTION applet parameters, menu() method and PopupMenu class description sections in applet documentation and sample1.html. Update date: 21 march 2001 treetable applet v.1.10 *** added numerical sorting columns containing only numerical data will be sorted as numerical, otherwise as text using standard Java text comparison. Numerical data is: double with dot (.) as decimal delimiter [-0.01 ; 123.55] or integer [10 ; -107] Update date: 7 march 2001