It is currently 7 June 2025, 22:49 Advanced search

[RISOLTO]La setError dalla DataRow è già funzionante?

Domande e risposte su come utilizzare Instant Developer Cloud al meglio

[RISOLTO]La setError dalla DataRow è già funzionante?

Postby poidomani » 23 November 2015, 8:47

La DataRow ha metodi e proprietà molto utili, fra cui il classico setError che per ora mi sembra non faccia nulla, può essere che non l'avete ancora sviluppato?L'errore son sicuro che è valorizzato perché l'alert me lo mostra.
Attachments
Cattura.JPG
Cattura.JPG (21.25 KiB) Viewed 13605 times
Last edited by poidomani on 15 December 2015, 8:41, edited 1 time in total.
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Re: La setError dalla DataRow è già funzionante?

Postby poidomani » 23 November 2015, 8:50

Se a qualcuno interessa di seguito riporto la funzione di controllo del codice fiscale, all'indirizzo indicato c'è anche il controllo della partita IVA e tutte le spiegazioni.
Io l'ho richiamato così:
Code: Select all
form.mainContainer.formContainer.cntCodiceFiscale.codiceFiscale.onChange = function (event)
{
  var ret;
  ret = form.ValidaCodiceFiscale($codiceFiscale.value);
  if (ret !== "") {
    //app.alert(ret);
    $dmSoggetti.row.setError(ret, $codiceFiscale);
  }
};


Ho modificato la parte finale per aggiungere "dovrebbe essere ...".
/**
* ringraziando : http://www.icosaedro.it/cf-pi/
*/
App.Soggetti1.prototype.ValidaCodiceFiscale = function (cf)
{
var validi, i, s, set1, set2, setpari, setdisp;
if (cf === '')
return '';
cf = cf.toUpperCase();
if (cf.length != 16)
return "La lunghezza del codice fiscale non è\n"
+ "corretta: il codice fiscale dovrebbe essere lungo\n"
+ "esattamente 16 caratteri.\n";
validi = "ABCDEFGHIJKLMNOPQRSTUVWXYZ0123456789";
for (i = 0; i < 16; i++) {
if (validi.indexOf(cf.charAt(i)) == -1)
return "Il codice fiscale contiene un carattere non valido `" +
cf.charAt(i) +
"'.\nI caratteri validi sono le lettere e le cifre.\n";
}
set1 = "0123456789ABCDEFGHIJKLMNOPQRSTUVWXYZ";
set2 = "ABCDEFGHIJABCDEFGHIJKLMNOPQRSTUVWXYZ";
setpari = "ABCDEFGHIJKLMNOPQRSTUVWXYZ";
setdisp = "BAKPLCQDREVOSFTGUHMINJWZYX";
s = 0;
for (i = 1; i <= 13; i += 2)
s += setpari.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));
for (i = 0; i <= 14; i += 2)
s += setdisp.indexOf(set2.charAt(set1.indexOf(cf.charAt(i))));
if (s % 26 != cf.charCodeAt(15) - 'A'.charCodeAt(0))
return "Il codice fiscale non è corretto:\n" +
"il codice di controllo non corrisponde.\n" +
" dovrebbe essere: " + validi.substr(s % 26, 1);
return "";
};
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Re: La setError dalla DataRow è già funzionante?

Postby m.sirri » 23 November 2015, 16:41

La funzione setError si aspetta come primo parametro il nome della colonna su cui settare l'errore.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: La setError dalla DataRow è già funzionante?

Postby poidomani » 23 November 2015, 19:31

l'help in linea dice il contrario prima il testo e poi la colonna, comunque ho provato in tutti i modi e non funziona in nessuna maniera, secondo me è ancora da sviluppare
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Re: La setError dalla DataRow è già funzionante?

Postby m.sirri » 25 November 2015, 14:39

La documentazione è corretta: mi sono sbagliato a scrivere.
Il primo parametro è il testo, mentre il secondo è il nome della colonna.

Io l'ho usata e funziona.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: La setError dalla DataRow è già funzionante?

Postby poidomani » 25 November 2015, 16:00

se vuoi provare il mio progetto ordini lo metto pubblico o tu riesci ugualmente a guardarci? Vorrei risolvere questa cosa che è molto importante.
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Re: La setError dalla DataRow è già funzionante?

Postby m.sirri » 1 December 2015, 14:37

Mettimelo pubblico che ci guardo.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: La setError dalla DataRow è già funzionante?

Postby poidomani » 2 December 2015, 9:48

l'ho messo pubblico, si chiama Ordini, è già impostato per eseguire soggetti1 in cui c'è la setError, introduci un errore nel codice fiscale.
Quando lo avvii compare come prima cosa un alert se vuoi commentalo
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Re: La setError dalla DataRow è già funzionante?

Postby m.sirri » 14 December 2015, 16:37

Ho guardato il tuo progetto e la setError da errore perché il parametro row è nullo.
User avatar
m.sirri
Pro Gamma
Pro Gamma
 
Posts: 8574
Joined: 30 September 2010, 17:01
Location: Ozzano dell'Emilia (BO)

Re: La setError dalla DataRow è già funzionante?

Postby poidomani » 14 December 2015, 20:41

OKKKAY, grazie Matteo, siccome la query rende una sola riga pensavo che ... ho capito dovremo aspettare l'intelligenza artificiale :-)

Sì mi piace, è come lo volevo io, testi dell'errore che non occupano spazio sul video. Vi faccio i miei compimenti, ottimo lavoro.

form.mainContainer.formContainer.cntCodiceFiscale.codiceFiscale.onChange = function (event)
{
var ret;
ret = form.ValidaCodiceFiscale($codiceFiscale.value);
if (ret !== "") {
//app.alert(ret);
$dmSoggetti.position = this.row.position;
$dmSoggetti.row.setError(ret);
}
};
Attachments
Screenshot 2015-12-14 21.30.43.png
Screenshot 2015-12-14 21.30.43.png (42.55 KiB) Viewed 13515 times
Ing. Giovanni Poidomani - freelance
saper ascoltare significa possedere, oltre al proprio, il cervello degli altri. (Leonardo da Vinci)
poidomani
 
Posts: 3310
Joined: 4 November 2010, 15:07
Location: Bologna

Next

Return to Tips & Tricks - Cloud

Who is online

Users browsing this forum: No registered users and 4 guests