Announcement

Collapse
No announcement yet.
X
  • Filter
  • Time
Clear All
new posts

    Hide/show ListGridField problem after upgrade SmartGWT to 4.1

    I created a web application using SmartGWT Power 3.1.
    If I upgrade my SmartGWT to version 4.1 the "hide/show" of columns doesn't work.
    When I select an hidden column to show, the data is also shown in next column already displayed.

    This happens both on Firefox and chrome.

    How can I solve this problem?

    #2
    How can we reproduce this problem?

    Comment


      #3
      this is my ListGrid code:

      ListGridField bankIdField = new ListGridField("BANKID");
      bankIdField.setTitle("Bank Id");
      bankIdField.setHidden(true);
      bankIdField.setWidth("12%");

      ListGridField bankNameField = new ListGridField("BANKNAME");
      bankNameField.setTitle("Bank name");
      bankNameField.setWidth("12%");

      ListGridField abiCodeField = new ListGridField("ABICODE");
      abiCodeField.setTitle("ABI code");
      abiCodeField.setWidth("8%");
      ListGridField bloomCodeField = new ListGridField("BLOOMBCODE");
      bloomCodeField.setTitle("Bloomberg code");
      bloomCodeField.setWidth("8%");
      ListGridField fitchCodeField = new ListGridField("FITCHCODE");
      fitchCodeField.setTitle("Fitch code");
      fitchCodeField.setWidth("8%");
      ListGridField calculationField = new ListGridField("STATUS");
      calculationField.setTitle("Calculation");
      calculationField.setWidth("8%");
      ListGridField counterpartyField = new ListGridField("CTP");
      counterpartyField.setTitle("Counterparty");
      counterpartyField.setWidth("8%");
      ListGridField participantField = new ListGridField("PARTICIPNT");
      participantField.setTitle("Participant");
      participantField.setWidth("8%");
      ListGridField countryField = new ListGridField("COUNTRY");
      countryField.setTitle("Country");
      countryField.setWidth("10%");
      ListGridField parBnkNameField = new ListGridField("PARBNKNAME");
      parBnkNameField.setTitle("Parent company name");
      parBnkNameField.setWidth("10%");
      ListGridField parBnkBlCdField = new ListGridField("PARBNKBLCD");
      parBnkBlCdField.setTitle("Parent company bloomber ticker");
      parBnkBlCdField.setWidth("10%");
      ListGridField parBnkTickField = new ListGridField("PARBNKTICK");
      parBnkTickField.setTitle("Holding bloomberg ticker");
      parBnkTickField.setWidth("10%");


      rctbankDS = DataSource.get("rctbank");
      //CREO LA TABELLA
      staticBanks = new ListGrid();
      staticBanks.setWidth100();
      staticBanks.setFields(bankIdField,bankNameField,abiCodeField,bloomCodeField,fitchCodeField,calculationField,counterpartyField ,participantField,countryField,parBnkNameField,parBnkBlCdField ,parBnkTickField);
      staticBanks.setTitle("Banks Static Data");
      staticBanks.setDataSource(rctbankDS);
      staticBanks.setShowDetailFields(true);
      staticBanks.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
      staticBanks.setShowFilterEditor(true);
      staticBanks.setDataPageSize(40);
      staticBanks.setModalEditing(true);
      staticBanks.setFilterOnKeypress(false);
      staticBanks.setListEndEditAction(RowEndEditAction.NEXT);
      staticBanks.setAutoSaveEdits(true);
      staticBanks.setAutoFetchData(true);
      staticBanks.setEditEvent(ListGridEditEvent.NONE);
      staticBanks.setAutoFetchTextMatchStyle(TextMatchStyle.SUBSTRING);

      staticBanks.addSelectionChangedHandler(new SelectionChangedHandler() {

      @Override
      public void onSelectionChanged(SelectionEvent event) {
      deleteBank.setDisabled(false);
      editBank.setDisabled(false);
      }
      });

      staticBanks.addRecordDoubleClickHandler(new RecordDoubleClickHandler() {
      @Override
      public void onRecordDoubleClick(RecordDoubleClickEvent event) {
      staticBanks.startEditing(event.getRecordNum(), event.getFieldNum(), true);
      }
      });

      compile this with SmartGWT Power 3.1 and everything works.
      After recompile with SmartGWT Power 4.1, if you show "bankIdField" you see data duplicated in "bankNameField" and followed data shifted right of 1 column.

      Comment


        #4
        We can't run this code because its missing a DataSource, and we can't tell what might be happening without the dataSource - settings on the two fields in question could be at fault, for example.

        Please provide some standalone code, using clientOnly dataSources, so that we can run it on our end to see the problem
        Last edited by Isomorphic; 7 Sep 2013, 05:30.

        Comment


          #5
          This is an example xml:
          Code:
          <DataSets>
          	<DataSet1>
          		<Row>
          			<Column name="ABICODE">&quot;(null)&quot;</Column>
          			<Column name="BLOOMBCODE">&quot;(null)&quot;</Column>
          			<Column name="FITCHCODE">&quot;1&quot;</Column>
          			<Column name="STATUS">&quot;D&quot;</Column>
          			<Column name="CTP">&quot;D&quot;</Column>
          			<Column name="PARTICIPNT">&quot;D&quot;</Column>
          			<Column name="BANKNAME">&quot;B1&quot;</Column>
          			<Column name="COUNTRY">&quot;JPN&quot;</Column>
          			<Column name="PARBNKNAME">&quot;(null)&quot;</Column>
          			<Column name="PARBNKBLCD">&quot;(null)&quot;</Column>
          			<Column name="PARBNKTICK">&quot;(null)&quot;</Column>
          			<Column name="UPDDATE">&quot;13/08/2013 9.52:43&quot;</Column>
          			<Column name="UPDUSR">&quot;user&quot;</Column>
          			<Column name="UPDTYPE">&quot;I&quot;</Column>
          			<Column name="BANKID">&quot;101&quot;</Column>
          		</Row>
          		<Row>
          			<Column name="ABICODE">&quot;(null)&quot;</Column>
          			<Column name="BLOOMBCODE">&quot;(null)&quot;</Column>
          			<Column name="FITCHCODE">&quot;2&quot;</Column>
          			<Column name="STATUS">&quot;D&quot;</Column>
          			<Column name="CTP">&quot;D&quot;</Column>
          			<Column name="PARTICIPNT">&quot;D&quot;</Column>
          			<Column name="BANKNAME">&quot;B2&quot;</Column>
          			<Column name="COUNTRY">&quot;USA&quot;</Column>
          			<Column name="PARBNKNAME">&quot;(null)&quot;</Column>
          			<Column name="PARBNKBLCD">&quot;(null)&quot;</Column>
          			<Column name="PARBNKTICK">&quot;(null)&quot;</Column>
          			<Column name="UPDDATE">&quot;13/08/2013 9.52:43&quot;</Column>
          			<Column name="UPDUSR">&quot;user&quot;</Column>
          			<Column name="UPDTYPE">&quot;I&quot;</Column>
          			<Column name="BANKID">&quot;102&quot;</Column>
          		</Row>
          		<Row>
          			<Column name="ABICODE">&quot;(null)&quot;</Column>
          			<Column name="BLOOMBCODE">&quot;(null)&quot;</Column>
          			<Column name="FITCHCODE">&quot;3&quot;</Column>
          			<Column name="STATUS">&quot;D&quot;</Column>
          			<Column name="CTP">&quot;D&quot;</Column>
          			<Column name="PARTICIPNT">&quot;D&quot;</Column>
          			<Column name="BANKNAME">&quot;B3&quot;</Column>
          			<Column name="COUNTRY">&quot;USA&quot;</Column>
          			<Column name="PARBNKNAME">&quot;(null)&quot;</Column>
          			<Column name="PARBNKBLCD">&quot;(null)&quot;</Column>
          			<Column name="PARBNKTICK">&quot;(null)&quot;</Column>
          			<Column name="UPDDATE">&quot;13/08/2013 9.52:43&quot;</Column>
          			<Column name="UPDUSR">&quot;user&quot;</Column>
          			<Column name="UPDTYPE">&quot;I&quot;</Column>
          			<Column name="BANKID">&quot;103&quot;</Column>
          		</Row>
          	</DataSet1>
          </DataSets>

          Comment


            #6
            This extra information doesn't help - we still don't have a dataSource definition and the code still will not run.

            Again, please provide some standalone *runnable* code, using clientOnly dataSources, so that we can run it on our end to see the problem

            Comment


              #7
              this is java code with datasource:
              Code:
              DataSource dataSource = new DataSource();
              	    dataSource.setID("rctBanksDS");
              	    dataSource.setRecordXPath("/List/rctBanks");
              	    DataSourceField bankIdDSField = new DataSourceField("BANKID", FieldType.INTEGER, "Bank id");
              	    DataSourceField bankNameDSField = new DataSourceField("BANKNAME", FieldType.TEXT, "Bank name");
              	    DataSourceField abiCodeDSField = new DataSourceField("ABICODE", FieldType.TEXT, "ABI code");
              	    DataSourceField bloombCodeDSField = new DataSourceField("BLOOMBCODE", FieldType.TEXT, "Bloomberg code");
              	    DataSourceField fitchCodeDSField = new DataSourceField("FITCHCODE", FieldType.TEXT, "Fitch code");
              	    DataSourceField statusDSField = new DataSourceField("STATUS", FieldType.TEXT, "Calculation",1);
              	    DataSourceField ctpDSField = new DataSourceField("CTP", FieldType.TEXT, "Counterparty",1);
              	    DataSourceField participantDSField = new DataSourceField("PARTICIPNT", FieldType.TEXT, "Participant",1);
              	    DataSourceField countryDSField = new DataSourceField("COUNTRY", FieldType.TEXT, "Country");
              	    DataSourceField parbnkNameDSField = new DataSourceField("PARBNKNAME", FieldType.TEXT, "Parent company name");
              	    DataSourceField parbnkBlCDDSField = new DataSourceField("PARBNKBLCD", FieldType.TEXT, "Parent company bloomber ticker");
              	    DataSourceField parbnkTickDSField = new DataSourceField("PARBNKTICK", FieldType.TEXT, "Holding bloomberg ticker");
              	    
              	    dataSource.setFields(bankIdDSField,bankNameDSField,abiCodeDSField,bloombCodeDSField,bloombCodeDSField,fitchCodeDSField,statusDSField,ctpDSField,participantDSField,countryDSField,parbnkNameDSField,parbnkBlCDDSField,parbnkTickDSField);
              	    dataSource.setDataURL("ds/rctbank.data.xml");
              	    dataSource.setClientOnly(true);
              
              ......
              
              
              ListGridField bankIdField = new ListGridField("BANKID");
              		bankIdField.setTitle("Bank Id");
              		bankIdField.setHidden(true);
              		bankIdField.setWidth("12%");
              		
              		ListGridField bankNameField = new ListGridField("BANKNAME");
              		bankNameField.setTitle("Bank name");
              		bankNameField.setWidth("12%");
              		
              		ListGridField abiCodeField = new ListGridField("ABICODE");
              		abiCodeField.setTitle("ABI code");
              		abiCodeField.setWidth("8%");
              		ListGridField bloomCodeField = new ListGridField("BLOOMBCODE");
              		bloomCodeField.setTitle("Bloomberg code");
              		bloomCodeField.setWidth("8%");
              		ListGridField fitchCodeField = new ListGridField("FITCHCODE");
              		fitchCodeField.setTitle("Fitch code");
              		fitchCodeField.setWidth("8%");
              		ListGridField calculationField = new ListGridField("STATUS");
              		calculationField.setTitle("Calculation");
              		calculationField.setWidth("8%");
              		ListGridField counterpartyField = new ListGridField("CTP");
              		counterpartyField.setTitle("Counterparty");
              		counterpartyField.setWidth("8%");
              		ListGridField participantField = new ListGridField("PARTICIPNT");
              		participantField.setTitle("Participant");
              		participantField.setWidth("8%");
              		ListGridField countryField = new ListGridField("COUNTRY");
              		countryField.setTitle("Country");
              		countryField.setWidth("10%");
              		ListGridField parBnkNameField = new ListGridField("PARBNKNAME");
              		parBnkNameField.setTitle("Parent company name");
              		parBnkNameField.setWidth("10%");
              		ListGridField parBnkBlCdField = new ListGridField("PARBNKBLCD");
              		parBnkBlCdField.setTitle("Parent company bloomber ticker");
              		parBnkBlCdField.setWidth("10%");
              		ListGridField parBnkTickField = new ListGridField("PARBNKTICK");
              		parBnkTickField.setTitle("Holding bloomberg ticker");
              		parBnkTickField.setWidth("10%");
              		
              		
              		rctbankDS = DataSource.get("rctbank");
              		//CREO LA TABELLA 
              		staticBanks = new ListGrid();
              		staticBanks.setWidth100();
              		staticBanks.setFields(bankIdField,bankNameField,abiCodeField,bloomCodeField,fitchCodeField,calculationField,counterpartyField ,participantField,countryField,parBnkNameField,parBnkBlCdField ,parBnkTickField);
              		staticBanks.setTitle("Banks Static Data");
              		
              		staticBanks.setDataSource(dataSource);
              		
              		staticBanks.setShowDetailFields(true);
              		staticBanks.setDateFormatter(DateDisplayFormat.TOEUROPEANSHORTDATE);
              		staticBanks.setShowFilterEditor(true);
              		staticBanks.setDataPageSize(40);
              		staticBanks.setModalEditing(true);
              		staticBanks.setFilterOnKeypress(false);
              		staticBanks.setListEndEditAction(RowEndEditAction.NEXT);
              		staticBanks.setAutoSaveEdits(true);
              		staticBanks.setAutoFetchData(true);
              		staticBanks.setEditEvent(ListGridEditEvent.NONE);
              		staticBanks.setAutoFetchTextMatchStyle(TextMatchStyle.SUBSTRING);
              
              		staticBanks.addSelectionChangedHandler(new SelectionChangedHandler() {
              			
              			@Override
              			public void onSelectionChanged(SelectionEvent event) {
              				deleteBank.setDisabled(false);
              				editBank.setDisabled(false);
              			}
              		});
              		
              		staticBanks.addRecordDoubleClickHandler(new RecordDoubleClickHandler() {
              			@Override
              			public void onRecordDoubleClick(RecordDoubleClickEvent event) {
              				staticBanks.startEditing(event.getRecordNum(), event.getFieldNum(), true);
              			}
              		});
              And this is rctbank.data.xml:
              Code:
              <List>
              	<rctBanks>
              		<ABICODE>(null)</ABICODE>
              		<BLOOMBCODE>(null)</BLOOMBCODE>
              		<FITCHCODE>1</FITCHCODE>
              		<STATUS>D</STATUS>
              		<CTP>D</CTP>
              		<PARTICIPNT>D</PARTICIPNT>
              		<BANKNAME>B1</BANKNAME>
              		<COUNTRY>JPN</COUNTRY>
              		<PARBNKNAME>(null)</PARBNKNAME>
              		<PARBNKBLCD>(null)</PARBNKBLCD>
              		<PARBNKTICK>(null)</PARBNKTICK>
              		<UPDDATE>13/08/2013 9.52:43</UPDDATE>
              		<UPDUSR>user</UPDUSR>
              		<UPDTYPE>I</UPDTYPE>
              		<BANKID>101</BANKID>
              	</rctBanks>
              	<rctBanks>
              		<ABICODE>(null)</ABICODE>
              		<BLOOMBCODE>(null)</BLOOMBCODE>
              		<FITCHCODE>2</FITCHCODE>
              		<STATUS>D</STATUS>
              		<CTP>D</CTP>
              		<PARTICIPNT>D</PARTICIPNT>
              		<BANKNAME>B2</BANKNAME>
              		<COUNTRY>USA</COUNTRY>
              		<PARBNKNAME>(null)</PARBNKNAME>
              		<PARBNKBLCD>(null)</PARBNKBLCD>
              		<PARBNKTICK>(null)</PARBNKTICK>
              		<UPDDATE>13/08/2013 9.52:43</UPDDATE>
              		<UPDUSR>user</UPDUSR>
              		<UPDTYPE>I</UPDTYPE>
              		<BANKID>102</BANKID>
              	</rctBanks>
              	<rctBanks>
              		<ABICODE>(null)</ABICODE>
              		<BLOOMBCODE>(null)</BLOOMBCODE>
              		<FITCHCODE>3</FITCHCODE>
              		<STATUS>D</STATUS>
              		<CTP>D</CTP>
              		<PARTICIPNT>D</PARTICIPNT>
              		<BANKNAME>B3</BANKNAME>
              		<COUNTRY>USA</COUNTRY>
              		<PARBNKNAME>(null)</PARBNKNAME>
              		<PARBNKBLCD>(null)</PARBNKBLCD>
              		<PARBNKTICK>(null)</PARBNKTICK>
              		<UPDDATE>13/08/2013 9.52:43</UPDDATE>
              		<UPDUSR>user</UPDUSR>
              		<UPDTYPE>I</UPDTYPE>
              		<BANKID>103</BANKID>
              	</rctBanks>
              	<rctBanks>
              		<ABICODE>(null)</ABICODE>
              		<BLOOMBCODE>(null)</BLOOMBCODE>
              		<FITCHCODE>4</FITCHCODE>
              		<STATUS>D</STATUS>
              		<CTP>D</CTP>
              		<PARTICIPNT>D</PARTICIPNT>
              		<BANKNAME>B4</BANKNAME>
              		<COUNTRY>GBR</COUNTRY>
              		<PARBNKNAME>(null)</PARBNKNAME>
              		<PARBNKBLCD>(null)</PARBNKBLCD>
              		<PARBNKTICK>(null)</PARBNKTICK>
              		<UPDDATE>13/08/2013 9.52:43</UPDDATE>
              		<UPDUSR>user</UPDUSR>
              		<UPDTYPE>I</UPDTYPE>
              		<BANKID>104</BANKID>
              	</rctBanks>
              	<rctBanks>
              		<ABICODE>(null)</ABICODE>
              		<BLOOMBCODE>(null)</BLOOMBCODE>
              		<FITCHCODE>5</FITCHCODE>
              		<STATUS>D</STATUS>
              		<CTP>D</CTP>
              		<PARTICIPNT>D</PARTICIPNT>
              		<BANKNAME>B5</BANKNAME>
              		<COUNTRY>USA</COUNTRY>
              		<PARBNKNAME>(null)</PARBNKNAME>
              		<PARBNKBLCD>(null)</PARBNKBLCD>
              		<PARBNKTICK>(null)</PARBNKTICK>
              		<UPDDATE>13/08/2013 9.52:43</UPDDATE>
              		<UPDUSR>user</UPDUSR>
              		<UPDTYPE>I</UPDTYPE>
              		<BANKID>105</BANKID>
              	</rctBanks>
              </List>
              Can you help me now?

              Comment


                #8
                We were able to run this code (after removing a duplicate entry for the bloom DS field).

                But it works fine for us against latest 4.1 - when we show the hidden "Bank Id" field, we see that column with values 101 to 105 - and the Bank Name column with values B1 to B5.

                To help further, we will probably need to see your actual .ds.xml file - it's likely that you have a displayField or similar set up on the Bank Id field.

                Comment


                  #9
                  this is my ds.xml:
                  Code:
                  <DataSource tableName="pamptest.rctbank"
                  				   ID="rctbank"
                  	dataSourceVersion="1"
                  		  serverType="sql">
                  	<fields>
                  		<field title="Bank ID" name="BANKID" type="sequence" filterOperator="equals" primaryKey="true" width="70" canEdit="false" align="left" cellAlign="left" detail="true"/>
                  		<field title="Bank name" name="BANKNAME" required="true" type="text" length="255" width="100"  canEdit="true" align="left" editorType="TextItem" cellAlign="left"/>
                  		<field title="ABI code" name="ABICODE" required="flase" length="20" type="text" width="100" canEdit="true" detail="true" editorType="TextItem"/>
                  		<field title="Bloomberg code" name="BLOOMBCODE" required="false" type="text" width="100"  canEdit="true" align="left" cellAlign="left" editorType="TextItem"/>
                  		<field title="Fitch code" name="FITCHCODE"  required="false" type="text"  width="100" canEdit="true" align="left" cellAlign="left" detail="false" editorType="TextItem"/>
                  		<field title="Calculation" name="STATUS" required="true" length="1" type="text" width="100" canEdit="true" align="left" cellAlign="left" detail="false" >
                  			<valueMap>  
                  				<value ID="E">Enabled</value> 
                  				<value ID="D">Disabled</value> 
                  			</valueMap> 
                  		</field>
                  		<field title="Counterparty" name="CTP"  required="true" type="text" width="100"  canEdit="true" align="left" cellAlign="left" detail="false" >
                  			<valueMap>  
                  				<value ID="E">Enabled</value> 
                  				<value ID="D">Disabled</value>  
                  			</valueMap> 
                  		</field>
                  		<field title="Participant" name="PARTICIPNT"  required="true" type="text" width="100"  canEdit="true" align="left" cellAlign="left" detail="false" >
                  			<valueMap>  
                  				<value ID="E">Enabled</value> 
                  				<value ID="D">Disabled</value>  
                  			</valueMap> 
                  		</field>
                  		<field title="Country" name="COUNTRY" required="false" type="text" length="30" width="100"  canEdit="true" align="left" cellAlign="left" editorType="TextItem"/>
                  		<field title="Parent company name" name="PARBNKNAME" required="false" type="text" width="100" canEdit="true"  editorType="TextItem"  align="left" cellAlign="left"/>
                  		<field title="Parent company bloomber ticker" name="PARBNKBLCD" required="false" type="text" width="100" canEdit="true"  editorType="TextItem" filterEditorType="TextItem"  align="left" cellAlign="left"/>
                  		<field title="Holding bloomberg ticker" name="PARBNKTICK" required="false" type="text" width="100" canEdit="true"  editorType="TextItem" filterEditorType="TextItem"  align="left" cellAlign="left"/>
                  		<field title="Update date" name="UPDDATE" type="datetime" width="100" align="left" cellAlign="left" canEdit="false" detail="true"/>
                  		<field title="Update type" name="UPDTYPE"  type="text" escapeHTML="true" canEdit="false" length="1" width="100" align="left" cellAlign="left" detail="true">
                  		   <valueMap>
                  				<value ID="C">Create</value>
                  				<value ID="U">Update</value>
                  				<value ID="D">Delete</value>
                  			</valueMap>
                  		</field>
                  		<field title="Update user" name="UPDUSR" length="30"  type="text" escapeHTML="true" canEdit="false" width="100" align="left" cellAlign="left" detail="true"/>
                     	</fields>
                     	<serverObject lookupStyle="new" className="it.ccg.irweb.server.dmi.StandardDMI"/>
                    	<operationBindings>
                  		<operationBinding operationType="update" requiresRole="user,admin"></operationBinding>
                  		<operationBinding operationType="delete" requiresRole="user,admin"></operationBinding>
                  		<operationBinding operationType="add" requiresRole="user,admin" allowMultiUpdate="true"></operationBinding>
                  		   <operationBinding operationType="fetch" requiresRole="user,admin,visitor">  
                  		       <orderClause>BANKNAME asc</orderClause> 
                  		   </operationBinding>              
                  	 </operationBindings>  	
                  </DataSource>
                  Thank you

                  Comment


                    #10
                    I'm still waiting your replay.

                    Comment


                      #11
                      We've had another look at this - your DataSource uses a DMI which we don't have, so we had to drop your custom operations to get it working.

                      And once we do that, and import your dataSource and data, we continue to see things working as expected. Both columns display the correct values.

                      With that in mind, the DMI could be at fault - check the developer console to see whether the server is actually returning the bank name and number as expected.

                      If that looks correct, please arrange your various previous code postings into a self-contained *runnable* example, that we can drop into a project and run, and that then clearly shows the fault.

                      Comment


                        #12
                        Wait just a second, I have same problem on every ListGrid of my application and this problem begun when I changed smartgwt 3.1 libraries with smartgwt 4.1.

                        Then my problem is linked to smartgwt upgrading!

                        Is there some particular operation to do for upgrade smartgwt version?

                        Comment


                          #13
                          No, just follow the installation instructions as normal.

                          We realize you strongly believe this is a framework issue. Regardless of whether it is or isn't, we need a way to reproduce the issue, as previously explained.

                          Comment


                            #14
                            Excuse me if I'm replying just now.

                            However, I make some tests and my problem occur only if filter editor is visible. If I set "setShowFilterEditor(false)" on ListGrid everything work fine.

                            I remember you that I have this problem only with 4.1 version of smart gwt.

                            p.s. can you tell me what do you mean with "self-contained *runnable* example"?

                            Comment


                              #15
                              We mean code that we can just drop into a project and will immediately work - that is, that you yourself can put the code you send us into a project and have it "just run"...

                              So, an onModuleLoad() with code that will run as-is andshows the problem - and this code must be standalone, ie, if your example uses dataSources, make clientOnly ones that don't use serverObjects, and do make sure that the code you post actually runs for you too.

                              Comment

                              Working...
                              X