:: Forum >> Version 2 >>

Help Reqd with Checkbox & XML table

All,

I am stuck at couple of places using the following code. ( to run the code below, please create an HTML page and correct the aw include files path).

Issues:
1) The Selected value of Checkbox in the result xml is coming as -1 or 0.
( please press the button to see the output)

2) First click on the checkboxes doesnt change the checked status. You have to click it two times to change the state. After that it changes the state every time you click.

3) Values changed in cells other than checkbox is not being displayed in the output xml.

Please let me know where am I going wrong.

thank you,

<html>
<
head>
    <
title>ActiveWidgets Examples</title>
    <
script src="../../runtime/lib/aw.js"></script>
    <
link href="../../runtime/styles/xp/aw.css" rel="stylesheet"></link>
    <
style>
        .
aw-alternate-even {background#F5F5DC}
        .
aw-alternate-odd {background#E1E1CA;}
        .
aw-mouseover-row {background#F9F99C;}
    </
style>
<
script>

    var 
colsXPath = ["@checked","name","age","school","location"];
    var 
rowsXPath "//person";
    var 
header = ["","name","age","school","location"];
    var 
obj = new AW.UI.Grid;
    var 
table = new AW.XML.Table;
    var 
chkTemplate =     new AW.Templates.Checkbox


    
function createGrid() {
        
obj.setHeaderText(header);
        
obj.setHeaderTemplate(chkTemplate0);
        
obj.setHeaderValue(true0);

        
obj.onHeaderValueChanged =
            function(
event,index){
                if ( 
index == ) {
                    
selectAllRows(obj.getHeaderValue(index));
                }
        };

        var 
chkBox = new AW.Templates.Checkbox;
        
obj.setCellTemplate(chkBox0);

        var 
data document.getElementById("dataIsland").value;
        
table.setColumns(colsXPath);
        
table.setRows(rowsXPath);
        
table.setXML(data);

        
table.setValue = function (valuecolrow) {
            var 
node this.getNode(col,row);
            if ( 
node != null ) {
                
node.value value;
                
obj.setCellText(value,col,row);
            }
        };

        
obj.setColumnCount(5);
        
obj.setRowCount(table.getCount());
        
obj.setCellEditable(true);
        
obj.setCellModel(table);

        var 
tdiv document.getElementById("tableDiv");
        
tdiv.innerHTML obj;

    }

    function 
selectAllRows(bSelect) {
        var 
rows obj.getRowCount();
        var 
table obj.getCellModel();
        for (var 
i=0i<rowsi++) {
            
table.setValue(bSelect0i);
        }
    }

    function 
showXML() {
        
alert(' changed XML ->'+obj.getCellModel().getXML().xml);
    }

</
script>

</
head>
<
body onload="createGrid()">

<
div id="tableDiv" name="tableDiv"></div>

<
div id="buttonDiv" name="buttonDiv">
    <
input type="button" id="showXML" name="showXML" value="Show XML" onclick="showXML();"/>
</
div>

<
input type="hidden" id='dataIsland' name='dataIsland' value="
<persons>
    <person checked='false'>
        <name>A</name>
        <age>1</age>
        <school>Aa</school>
        <location>Aaa</location>
    </person>
    <person checked='false'>
        <name>B</name>
        <age>2</age>
        <school>Bb</school>
        <location>Bbb</location>
    </person>
</persons>"
></input>
</
body>
</
html>
 
Raman
Monday, August 28, 2006
I am really struggling with this one. I am using the version "activewidgets-2.0.1-std-developer".

any help will be greatly appreciated.
Raman
Monday, August 28, 2006

You need to add setText method to solve your problem (3).

I dont know why the issue (1) is happening, but you could workaround it by explicitly passing true or false value in setValue method.

Also noticed that no events are fired when each checkbox is clicked. Probably Alex can help.

table.setText = function (valuecolrow) { 
            var 
node this.getNode(col,row); 
            if ( 
node != null ) { 
                
node.text value
            } 
        };
 
Raj Nair
Tuesday, August 29, 2006
hey, were you able to find answer for this?
Gene
Wednesday, August 30, 2006
Hello,

I am still stuck with this same issue. Can someone please help on this.
Raman
Monday, September 4, 2006



This topic is archived.

Back to support forum

Forum search