30 messaggi dal 13 febbraio 2012
Salve, ho questo esempio di codice:

public void leggi()
{
List<string> dinosauri = new List<string>();

dinosauri.Add("aa");
dinosauri.Add("b");
dinosauri.Add("c");
dinosauri.Add("d");
dinosauri.Add("e");


dataGridView2.DataSource = dinosauri;

}

nel datagridview del windows form mi compare solo una colonna con la lunghezza del campo. come si fa a far visualizzare il campo string?
52 messaggi dal 04 ottobre 2011
dopo aver impostato il datasource, devi chiamare il metodo dataBind().
Vedrai che tutto funziona.
30 messaggi dal 13 febbraio 2012
l'esempio è molto banale, in realtà si tratta di questo:

List<Fornitore> listaFornitore = new List<Fornitore>();

MySqlConnection conn = new MySqlConnection("Server=localhost; port=3306; Database=db; Uid=root; Pwd=password;");

MySqlCommand squery = new MySqlCommand("SELECT * FROM anagraficafornitore", conn);

MySqlDataReader reader = squery.ExecuteReader();
while (reader.Read())
{
Fornitore forn = new Fornitore();
forn.RagioneSociale = reader["ragioneSociale"].ToString();
listaFornitore.Add(forn);
}

BindingSource bSource = new BindingSource();

bSource.DataSource = listaFornitore;

dataGridView2.DataSource = bSource;
}

con la relativa classe

class Fornitore
{
private String ragioneSociale;
public RagioneSociale
{
get { return ragioneSociale;}
set { ragioneSociale= value;}
}
}

Il tutto non mi funziona. eseguendo passo passo il codice non entra nel ciclo while. :(
Modificato da fabioantoniololiva il 14 marzo 2012 14.45 -
52 messaggi dal 04 ottobre 2011
In che senso non ti entra nel ciclo while?
seguendo passo passo il codice, dovrebbe entrarci subito dopo questa istruzione :

MySqlDataReader reader = squery.ExecuteReader();


tu dici che non ci entra? e che succede invece? qualche eccezione?
30 messaggi dal 13 febbraio 2012
risolto :(
mancava
conn.open();

chiedo venia per l'imbarazzante post
30 messaggi dal 13 febbraio 2012
visto che ci siamo perchè mi carica nel datagridview tutte le colonne con tutti i campi della class fornitori?

è possibile indicare quali colonne caricare senza nasconderle dopo?
52 messaggi dal 04 ottobre 2011
si, devi farlo nel markup. setti autogeneratecolumns='false' e poi all'interno del tag <columns> del controllo inserisci i campi che vuoi visualizzare. Puoi utilizzare sia un boundField per campi da prendere direttamente dal datasource, con possibilità di formattare il risultato a video, sia un template field se vuoi un controllo maggiore sul markup generato. Spero di essere stato chiaro.

Ciao
Nicola Atorino
30 messaggi dal 13 febbraio 2012
ti dispiace farmi un esempio di codice?

Torna al forum | Feed RSS

ASPItalia.com non è responsabile per il contenuto dei messaggi presenti su questo servizio, non avendo nessun controllo sui messaggi postati nei propri forum, che rappresentano l'espressione del pensiero degli autori.