Questo perché DataGridViews mostrano proprietà dell'oggetto. In questo caso l'elenco ha solo una proprietà "Lunghezza", quindi può visualizzare solo "Lunghezza" (indipendentemente dal tipo di dati). È necessario creare una classe wrapper per ottenere ciò che si desidera (una classe "MyString" con una proprietà di "Testo", quindi avere una lista visualizzata nella griglia).
Spero che questo aiuti
Aggiunta Esempio di codice
class MyString
{
private string _text;
public string Text
{ get
{
return _text;
}
set
{
_text = value;
}
}
}
'Nel modulo di esecuzione
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();
}
Il vostro IList contiene solo le stringhe? o contiene qualche altro tipo, ''? –
Nate
uh ... ha detto che è un IList ... –
Clyde