C# - List - Datagridview

martedì 13 marzo 2012 - 10.40
Tag Elenco Tags  C#  |  .NET 4.0  |  Windows 7  |  Visual Studio 2010  |  MySQL 5.1

fabioantoniololiva Profilo | Newbie

Salve ragazzi, vi posto un banale esempio di list che sarà il datasource di un datagridview in un Windows Form

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;
}

Perchè nel datagridview mi mostra solo una colonna con la lunghezza dei campi, ovvero
2
1
1
1
1

Come posso risolvere?
___________________________________________________________________
Fabio Antonio Loliva

Gho5t Profilo | Junior Member

Ciao,
qual'è il codice della datagridview??
Se un uomo non è disposto a correre qualche rischio per le sue idee, o le sue idee non valgono nulla o non vale nulla lui

fabioantoniololiva Profilo | Newbie

this.dataGridView2.ColumnHeadersHeightSizeMode = System.Windows.Forms.DataGridViewColumnHeadersHeightSizeMode.AutoSize;
this.dataGridView2.Location = new System.Drawing.Point(12, 600);
this.dataGridView2.Name = "dataGridView2";
this.dataGridView2.Size = new System.Drawing.Size(510, 150);
this.dataGridView2.TabIndex = 40;

suppongo di dover specificare qui qualcosa. ma non so come.

Grazie per la risposta
___________________________________________________________________
Fabio Antonio Loliva

fabioantoniololiva Profilo | Newbie

ho provato così:

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

public void leggi3()
{
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;
}

in quanto con questo codice trovato on line mi funziona tutto e ho tentato di adattarlo al mio caso:

class MyString
{
private string _text;
public string Text
{ get
{
return _text;
}
set
{
_text = value;
}
}

}
private List<MyString> foo()
{
List<MyString> lst = new List<MyString>();
MyString one = new MyString();
MyString two = new MyString();
one.Text = "Hello";
two.Text = "Goodbye";
lst.Add(one);
lst.Add(two);
return lst;
}

private void Form1_Load(object sender, EventArgs e)
{
dataGridView1.DataSource = foo();

}

non mi visualizza niente.
Dove sbaglio?

___________________________________________________________________
Fabio Antonio Loliva

fabioantoniololiva Profilo | Newbie

mancava
conn.Open();


___________________________________________________________________
Fabio Antonio Loliva
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 !
Copyright © dotNetHell.it 2002-2017
Running on Windows Server 2008 R2 Standard, SQL Server 2012 & ASP.NET 3.5