Home Page
Articoli
Tips & Tricks
News
Forum
Archivio Forum
Blogs
Sondaggi
Rss
Video
Utenti
Chi Siamo
Contattaci
Username:
Password:
Login
Registrati ora!
Recupera Password
Home Page
Stanze Forum
ASP.NET 1.0/1.1
Passare un array di classi ad un DataSource
lunedì 24 settembre 2007 - 11.55
Elenco Threads
Stanze Forum
Aggiungi ai Preferiti
Cerca nel forum
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
lun 24 set 2007 - 11:55
Ciao a tutti,
devo passare alla proprietà DataSource di un dropdownlist un array di classi.
Ho fatto così:
clsTipoCliente[] lstClienti = new clsTipoCliente[n_clienti];
...
ddlClienti.DataSource = lstClienti;
ddlClienti.DataValueField = "codice_cliente";
ddlClienti.DataTextField = "nome";
ddlClienti.DataBind();
dove:
using System;
namespace Classi
{
public class clsTipoCliente
{
public string codice_cliente;
public string codice_user;
public string email;
public string nome;
public string azienda;
public string indirizzo_sl;
public string citta_sl;
public string prov_sl;
public string cap_sl;
public string stato_sl;
public string indirizzo_so;
public string citta_so;
public string prov_so;
public string cap_so;
public string stato_so;
public string partita_iva;
public string codice_fiscale;
public string rappr_legale;
public string username;
public string password;
public clsTipoCliente()
{
codice_cliente = string.Empty;
codice_user = string.Empty;
email = string.Empty;
nome = string.Empty;
azienda = string.Empty;
indirizzo_sl = string.Empty;
citta_sl = string.Empty;
prov_sl = string.Empty;
cap_sl = string.Empty;
stato_sl = string.Empty;
indirizzo_so = string.Empty;
citta_so = string.Empty;
prov_so = string.Empty;
cap_so = string.Empty;
stato_so = string.Empty;
partita_iva = string.Empty;
codice_fiscale = string.Empty;
rappr_legale = string.Empty;
username = string.Empty;
password = string.Empty;
}
}
}
Quando eseguo il codice ho questo errore:
DataBinder.Eval: 'Classi.clsTipoCliente' non contiene una proprietà con nome codice_cliente.
Descrizione: Eccezione non gestita durante l'esecuzione della richiesta Web corrente. Per ulteriori informazioni sull'errore e sul suo punto di origine nel codice, vedere l'analisi dello stack.
Dettagli eccezione: System.Web.HttpException: DataBinder.Eval: 'Classi.clsTipoCliente' non contiene una proprietà con nome codice_cliente.
Errore nel codice sorgente:
Riga 57: ddlClienti.DataValueField = "codice_cliente";
Riga 58: ddlClienti.DataTextField = "nome";
Riga 59: ddlClienti.DataBind();
Riga 60: }
Riga 61: }
Perchè?
Grazie mille
carafe
Profilo
| Newbie
26
messaggi | Data Invio:
lun 24 set 2007 - 13:24
Prova ad assegnare il datasource in questo modo
ddlClienti.DataSource = lstClienti.toArray();
Ciao
Nessuno siamo perfetti, ognuno ci abbiamo i suoi difetti.
Gemini
Profilo
| Expert
856
messaggi | Data Invio:
lun 24 set 2007 - 15:10
Ciao, se provo con toArray mi da errore.
Non ha nessun definizione per toArray.
carafe
Profilo
| Newbie
26
messaggi | Data Invio:
lun 24 set 2007 - 17:04
ciao, prova ad usare un arraylist dove ogni elemento è rappresentato dalla tua classe e passi l'oggetto arraylist al tuo datasource chiamando il metodo toArray;
poi per ogni campo della tua classe devi creare una proprietà (get,set);
in c# è così:
string _nome;
public string Nome
{
get { return _nome; }
set { _nome = value; }
}
ArrayList lista=new ArrsyList();
lista.add(tuaCLasse);
combo.datasource=lista.toArray();
combo.DataTextField = "Campo da visulizzare";
combo.DataValueField = "Campo valore";
combo.dataBind();
prova cosi e fammi sapere
Ciao
Nessuno siamo perfetti, ognuno ci abbiamo i suoi difetti.
Torna su
Stanze Forum
Elenco Threads
Partecipa anche tu! Registrati!
Hai bisogno di aiuto ?
Perchè non ti registri subito?
Dopo esserti registrato potrai chiedere
aiuto sul nostro
Forum
oppure aiutare gli altri
Consulta le
Stanze
disponibili.
Registrati ora !