Visualizzazione dei risultati da 1 a 9 su 9

Discussione: sort table

  1. #1

    sort table

    salve a tutti, ho un problema spinoso maledetto
    obiettivo: vorrei sortare delle semplici <table> dichiarate in una .jsp.
    premessa: come framework sono sotto struts 1.1, la table in questione è (e deve rimanere tale ) composta da una serie di campi di intestazione e poi da uno <struts-logic:iterate id="list" che determinerà tutti i valori

    Volevo applicare il javascript "sorttable.js" che gira da parecchio che è molto comodo( import di uno o piu .js e aggiunta del class="sortbale" sulla table), ma non riesco assolutamente ad applicarlo nel mio caso (sono due giorni che googlo senza pace).
    help!!
    Vi riporto il codice della table quantomeno (la jsp è lunghetta)

    codice:
    <table width="1250" height="50" border="1"> 						 						<td width="20"><struts-bean:message key="lblCondizioniLogiche" bundle="giv.accenture" /></td> 						  				<% 				if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) { 				%>	 						<td width="10"><struts-bean:message key="lblAggiuntivita" bundle="giv.accenture" /></td> 				<%} %>			 						 						<td ><struts-bean:message key="lblgrand" bundle="giv.accenture" /></td> 						<td colspan="2" align="left" width="130"><struts-bean:message key="lblpedaa" bundle="giv.accenture" /></td> 						<td></td> 						<td align="center" width="20"><struts-bean:message key="lblval" bundle="giv.accenture" /></td> 						<td></td> 						<td><struts-bean:message key="lblcli" bundle="giv.accenture" /></td> 						<td><struts-bean:message key="lblpro" bundle="giv.accenture" /></td> 						<td width="20"><struts-bean:message key="lblco" bundle="giv.accenture" /></td> 						 						<td><struts-bean:message key="lblultagg" bundle="giv.accenture" /></td> 						<td><struts-bean:message key="lblstato" bundle="giv.accenture" /></td>                           						<% 						if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) {	 						//if(!(germanMarket.equalsIgnoreCase("true"))){ 						 %> 						<td align="center"><struts-bean:message key="lblObietCum" bundle="giv.accenture" /></td> 						<td align="center"><struts-bean:message key="lblValueAbs" bundle="giv.accenture" /></td> 						<%} %>                         						 						<td></td> 						<td></td> 						 						 						<struts-logic:iterate id="list"  indexId="i" name="paginatorSubSetList" > 							<tr align="center" bgcolor="<struts-bean:write name="list" property="lblColoreRiga"/>" > 								<struts-logic:equal name="list" property="lblColoreRiga" value="gray" >													  									<td  align="left" > 										<struts-html:text name="list" property="cod_raggr_cond" indexed ="true" readonly="true" size="5" disabled="true" /> 									</td> 	 								  						<% 						if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) {	 						//if(!(germanMarket.equalsIgnoreCase("true"))){ 						 %>	 								 									  <td align ="center"> 										 <struts-logic:equal name="list" property="flgCessato" value="2"> 											<input type="checkbox" name="aggiuntivita" value="true" checked="checked" readonly="true" disabled="true"  /> 										</struts-logic:equal> 										 <struts-logic:notEqual name="list" property="flgCessato" value="2"> 											<input type="checkbox" name="aggiuntivita" value="true" readonly="true" disabled="true" /> 									     </struts-logic:notEqual> 									</td> 						<%} %> 									 									<td  align="left" >	 										<struts-html:text name="list" property="cod_mont_linee" indexed ="true" readonly="true" size="45" disabled="true" /> 									</td>  									<td  align="left" > 										<struts-html:text name="list" property="data_inizio_cond" indexed ="true" readonly="true" size="12" disabled="true" /> 									</td>  									<td  align="left"> 										<struts-html:text name="list" property="data_fine_cond" indexed ="true" readonly="true" size="12" disabled="true"  /> 									</td> 									 									<td  align="left" > 										<struts-html:text name="list" property="des_stato_cond" indexed ="true" readonly="true" size="3" disabled="true" /> 									</td> 					 									<td  align="left" > 										<struts-html:text name="list" property="perc_obj" indexed ="true" readonly="true" size="10"  disabled="true" /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="des_tipocond" indexed ="true" readonly="true" size="5"  disabled="true" /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="cliente" indexed ="true" readonly="true" size="16" disabled="true" /> 									</td> 									 									<td  align="left" > 										<struts-html:text name="list" property="prodotto" indexed ="true" readonly="true" size="18" disabled="true"  /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="confronto" indexed ="true" readonly="true" size="7" disabled="true" /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="datatms" indexed ="true" readonly="true" size="12" disabled="true" /> 									</td> 			 									<td> 										<struts-html:text name="list" property="descrizione" indexed ="true" readonly="true" size="5" disabled="true" /> 										<struts-html:text name="list" property="progressivo" indexed ="true" readonly="true" style="display:none" /> 									</td>                                       						<% 						if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) { 						//if(!(germanMarket.equalsIgnoreCase("true"))){  						%> 									<td> <struts-html:text name="list" property="codCumuloObiettivi" indexed ="true" readonly="true" disabled="true"/> </td>                                     <td> <struts-html:text name="list" property="valCumuloObiettivi" indexed ="true" readonly="true" disabled="true"/> </td>                                     <%} %>                                     									 									<td > 										<struts-logic:match name="rendObiettivi" property="vedi" value="true"> 											<input type="button" value="<struts-bean:message key="LineElimina" bundle="giv.accenture" />" name="<%= i.toString() %>" onClick="prova(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" disabled = true>    										</struts-logic:match>  										<struts-logic:notMatch name="rendObiettivi" property="vedi" value="true"> 											<input type="button" value= "<struts-bean:message key="LineDisabilita" bundle="giv.accenture" />" name="<%= i.toString() %>" onClick="provauno(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" disabled = true>  											<%-- Barbara <input type="button" value= "<struts-bean:message key="LineDisabilita" bundle="giv.accenture" />" name=<%= i.toString() %> onClick="provauno(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" disabled = true> --%> 										</struts-logic:notMatch> 									</td> 								</struts-logic:equal> 							 							</tr>                              							<tr>                            							 								<struts-logic:notEqual name="list" property="lblColoreRiga" value="gray"  > 									<td  align="left" > 										<struts-html:text name="list" property="cod_raggr_cond" indexed ="true" readonly="true" size="5"  /> 									</td>   						<% 						if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) {	 						//if(!(germanMarket.equalsIgnoreCase("true"))){ 						 %>	 								 								  									  <td align ="center"> 										 <struts-logic:equal name="list" property="flgCessato" value="2"> 											<input type="checkbox" name="aggiuntivita" value="true" checked="checked" readonly="true" disabled="true" /> 										</struts-logic:equal> 										 <struts-logic:notEqual name="list" property="flgCessato" value="2"> 											<input type="checkbox" name="aggiuntivita" value="true" readonly="true" disabled="true" /> 									     </struts-logic:notEqual> 									</td> 									 					     <%} %> 									 									<td  align="left" >	 										<struts-html:text name="list" property="cod_mont_linee" indexed ="true" readonly="true" size="45"  /> 									</td> 							 									<td  align="left" > 										<struts-html:text name="list" property="data_inizio_cond" indexed ="true" readonly="true" size="12"  /> 									</td> 									 									<td  align="left"> 										<struts-html:text name="list" property="data_fine_cond" indexed ="true" readonly="true" size="12"   /> 									</td>  									<td  align="left" > 										<struts-html:text name="list" property="des_stato_cond" indexed ="true" readonly="true" size="3"  /> 									</td> 				 									<td  align="left" > 										<struts-html:text name="list" property="perc_obj" indexed ="true" readonly="true" size="10"  /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="des_tipocond" indexed ="true" readonly="true" size="5"  /> 									</td> 			 									<td  align="left" > 										<struts-html:text name="list" property="cliente" indexed ="true" readonly="true" size="16" /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="prodotto" indexed ="true" readonly="true" size="18"  /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="confronto" indexed ="true" readonly="true" size="7"  /> 									</td> 								 									<td  align="left" > 										<struts-html:text name="list" property="datatms" indexed ="true" readonly="true" size="12"  /> 									</td> 	 									<td> 										<struts-html:text name="list" property="descrizione" indexed ="true" readonly="true" size="5"  /> 										<struts-html:text name="list" property="progressivo" indexed ="true" readonly="true" style="display:none" /> 									</td>                                       						<% 						if ( sectorId == 'F' && !(germanMarket.equalsIgnoreCase("true")) ) { 						//if(!(germanMarket.equalsIgnoreCase("true"))){  						%> 									<td> <struts-html:text name="list" property="codCumuloObiettivi" indexed ="true" readonly="true"/> </td>                                     <td> <struts-html:text name="list" property="valCumuloObiettivi" indexed ="true" readonly="true"/> </td>                                     <%} %>                                     									 									<td > 										<struts-logic:match name="rendObiettivi" property="vedi" value="true"> 											<input type="button" value="<struts-bean:message key="LineElimina" bundle="giv.accenture" />" name="<%= i.toString() %>" onClick="prova(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" >    										</struts-logic:match>  										<struts-logic:notMatch name="rendObiettivi" property="vedi" value="true"> 											<input type="button" value= "<struts-bean:message key="LineDisabilita" bundle="giv.accenture" />" name="<%= i.toString() %>" onClick="provauno(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" >  											<%-- barbara <input type="button" value= "<struts-bean:message key="LineDisabilita" bundle="giv.accenture" />" name=<%= i.toString() %> onClick="provauno(this.name)" bgcolor="<struts-bean:write name="list" property="lblColorecolonna"/>" >  --%> 										</struts-logic:notMatch> 								 									</td> 								</struts-logic:notEqual> 							</tr> 						</struts-logic:iterate> 						 						  	   					</table>

  2. #2
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Per cortesia, non postare il codice del sorgente lato server, qui non si masticano questi linguaggi ed inoltre il risultato non e' sempre predicibile dipendendo dall'elaborazione che ne da il server.

    Posta il codice della pagina che arriva al browser (possibilmente indentato ) o, meglio , un link alla pagina pubblicata.
    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  3. #3
    eh...ma la pagina gira in locale, al massimo posso metterti il codice, di certo non il link. Metto un estratto della pagina? Tutta non ci sta nel limite caratteri permesso.
    Inoltre a me servirebbero consigli un po' per la jsp e un po' per il javascript.
    In che sezione dovrei mai postare? Una mista non c'è...

  4. #4
    Moderatore di JavaScript L'avatar di br1
    Registrato dal
    Jul 1999
    Messaggi
    19,998
    Perdona, ma l'interesse a risolvere e' tuo, devi renderci agevole il compito, non puoi pretendere che per capirci qualcosa (o anche solo se rientra nelle nostre capacita') ci si perda il tempo a formattare il codice e a fare illazioni su cosa avviene lato server.... posto che si conosca il JSP

    Il guaio per i poveri computers e' che sono gli uomini a comandarli.

    Attenzione ai titoli delle discussioni: (ri)leggete il regolamento
    Consultate la discussione in rilievo: script / discussioni utili
    Usate la funzione di Ricerca del Forum

  5. #5
    hai ragione, ho posto male la domanda, randiamola più semplice.

    Qualcuno immagino abbia già utilizzato il famoso e non più giovanissimo sorttable.js o nelle altre sue varianti.
    Se qualcuno lo ha usato, gli è capitato di usarlo sul framework struts?Se sì, si è riusciti a mantenere gli iterate di struts ?

    Ahimè è una domanda strettamente interlacciata tra il javascript e lo struts framework.


    se qualcuno ha avuto questa esperienza allora posso rilasciare pezzi specifici di codice sennò è un delirio

  6. #6
    Utente di HTML.it
    Registrato dal
    Dec 2010
    Messaggi
    3,660
    non credo che abbia molta importanza quale taglib stai utilizzando,siano quelle di struts o altre... alla fine il js sorttable va ad applicarsi sempre e cmq all'html generato... quindi come ti è già stato detto posta il codice html(lo prendi dal browser) che genera il comando iterate e la parte js interessata.

  7. #7
    Ok questo è un estratto riguardante solo la tabella di mio interesse (gira solo in locale, link non ne posso mettere):
    Aggiungo che, se metto una tabella "schiantata" a mano con header e dati scritti brutalmente, fuori da qualunque form, allora il js funziona bene. Gli inghippo potrebbero essere miriadi. Debuggando il js ho notato che quando tenta di prendere il .tbodies non trova questo attributo, mentre con la tabella schiantata lo trova. Quindi il problema deve essere nella jsp o in struts che rompe le scatole

    p.s. non capisco come mai mi sformatta tutto il codice quando lo inserisco qua dentro...

    codice:
    <style>#ciccio{background: silver;} </style> 					<table class='sortable' id="ciccio" width="1250" height="50" border="1"> 					<thead> 						<th width="20">Logic Conditions</th> 						  							 						 						<th >Parameters</th> 						<th colspan="2" align="left" width="130">Period FROM - TO </th> 						<th>0</th> 						<th align="center" width="20">Value</th> 						<th>1</th> 						<th>Dealer Type</th> 						<th>Product Type</th> 						<th width="20">Comparison</th> 						 						<th>Last Update</th> 						<th>Status</th>                           						                         						 						<th>2</th> 						<th>3</th> 						 				</thead> 			    <tbody>	 						                          							<tr>                            							 									<td  align="left" > 										<input type="text" name="list[0].cod_raggr_cond" size="5" value="0" readonly="readonly"> 									</td>								 									<td  align="left" >	 										<input type="text" name="list[0].cod_mont_linee" size="45" value="NET INVOICED                                      " readonly="readonly"> 									</td> 							 									<td  align="left" > 										<input type="text" name="list[0].data_inizio_cond" size="12" value="01/01/2011" readonly="readonly"> 									</td> 									 									<td  align="left"> 										<input type="text" name="list[0].data_fine_cond" size="12" value="12/31/2011" readonly="readonly"> 									</td>  									<td  align="left" > 										<input type="text" name="list[0].des_stato_cond" size="3" value="&gt;=" readonly="readonly"> 									</td> 				 									<td  align="left" > 										<input type="text" name="list[0].perc_obj" size="10" value="4.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[0].des_tipocond" size="5" value="%Obj" readonly="readonly"> 									</td> 			 									<td  align="left" > 										<input type="text" name="list[0].cliente" size="16" value="DEALER" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[0].prodotto" size="18" value="Pcc" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[0].confronto" size="7" value="0.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[0].datatms" size="12" value="09/15/2011" readonly="readonly"> 									</td> 	 									<td> 										<input type="text" name="list[0].descrizione" size="5" value="attivo" readonly="readonly"> 										<input type="text" name="list[0].progressivo" value="259.0" readonly="readonly" style="display:none"> 									</td>									 							</tr> 					 			                          							<tr>                            							 									<td  align="left" > 										<input type="text" name="list[1].cod_raggr_cond" size="5" value="0" readonly="readonly"> 									</td>								 									<td  align="left" >	 										<input type="text" name="list[1].cod_mont_linee" size="45" value="NET INVOICED                                      " readonly="readonly"> 									</td> 							 									<td  align="left" > 										<input type="text" name="list[1].data_inizio_cond" size="12" value="01/01/2011" readonly="readonly"> 									</td> 									 									<td  align="left"> 										<input type="text" name="list[1].data_fine_cond" size="12" value="12/31/2011" readonly="readonly"> 									</td>  									<td  align="left" > 										<input type="text" name="list[1].des_stato_cond" size="3" value="&gt;=" readonly="readonly"> 									</td> 				 									<td  align="left" > 										<input type="text" name="list[1].perc_obj" size="10" value="0.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[1].des_tipocond" size="5" value="Value" readonly="readonly"> 									</td> 			 									<td  align="left" > 										<input type="text" name="list[1].cliente" size="16" value="DEALER" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[1].prodotto" size="18" value="PccGroup" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[1].confronto" size="7" value="100.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[1].datatms" size="12" value="09/15/2011" readonly="readonly"> 									</td> 	 									<td> 										<input type="text" name="list[1].descrizione" size="5" value="attivo" readonly="readonly"> 										<input type="text" name="list[1].progressivo" value="260.0" readonly="readonly" style="display:none"> 									</td>									 							</tr> 					 			                          							<tr>                            							 									<td  align="left" > 										<input type="text" name="list[2].cod_raggr_cond" size="5" value="0" readonly="readonly"> 									</td>								 									<td  align="left" >	 										<input type="text" name="list[2].cod_mont_linee" size="45" value="NET INVOICED                                      " readonly="readonly"> 									</td> 							 									<td  align="left" > 										<input type="text" name="list[2].data_inizio_cond" size="12" value="01/01/2011" readonly="readonly"> 									</td> 									 									<td  align="left"> 										<input type="text" name="list[2].data_fine_cond" size="12" value="12/31/2011" readonly="readonly"> 									</td>  									<td  align="left" > 										<input type="text" name="list[2].des_stato_cond" size="3" value="&gt;=" readonly="readonly"> 									</td> 				 									<td  align="left" > 										<input type="text" name="list[2].perc_obj" size="10" value="6.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[2].des_tipocond" size="5" value="%Obj" readonly="readonly"> 									</td> 			 									<td  align="left" > 										<input type="text" name="list[2].cliente" size="16" value="DEALER" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[2].prodotto" size="18" value="Part Status" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[2].confronto" size="7" value="0.0" readonly="readonly"> 									</td> 								 									<td  align="left" > 										<input type="text" name="list[2].datatms" size="12" value="09/15/2011" readonly="readonly"> 									</td> 	 									<td> 										<input type="text" name="list[2].descrizione" size="5" value="attivo" readonly="readonly"> 										<input type="text" name="list[2].progressivo" value="262.0" readonly="readonly" style="display:none"> 									</td>									 							</tr> 			</tbody> 	</table>

  8. #8
    Ho capito il problema! ma non la soluzione.

    In struts per mettere una label ,come l'header delle tabelle per esempio, si utilizza un elemento che preleva da un bundle multilingua il nome di riferimento.
    Questo fa uscir di testa il javascript in qualche modo. Se invece schianto a mano i nomi colonna nella jsp, il tutto funziona correttamente.

    comunque grazie a tutti dell'interessamento, mi sa che mi serve un esperto struts e jsp...provo altrove

  9. #9
    ho risolto, smontando pezzo a pezzo.
    Magari a qualcuno servirà o lo sapevate già comunque lo riporto.

    Era il tag [B] messo per il bold dei nomi colonna , a spaccare tutto. Non ci sarei mai arrivato, è stata pura fortuna.

Permessi di invio

  • Non puoi inserire discussioni
  • Non puoi inserire repliche
  • Non puoi inserire allegati
  • Non puoi modificare i tuoi messaggi
  •  
Powered by vBulletin® Version 4.2.1
Copyright © 2025 vBulletin Solutions, Inc. All rights reserved.