Dies liegt daran, DataGridViews Eigenschaften des Objekts zeigen. In diesem Fall hat die Liste nur eine Eigenschaft "Länge", daher kann sie nur "Länge" anzeigen (unabhängig von DataType). Sie müssen eine Wrapper-Klasse erstellen, um das zu erreichen, was Sie wollen (eine "MyString" -Klasse mit einer Eigenschaft von "Text", dann wird eine Liste in Ihrem Raster angezeigt).
Hoffnung hilft diese
Codebeispiel Hinzufügen
class MyString
{
private string _text;
public string Text
{ get
{
return _text;
}
set
{
_text = value;
}
}
}
‚In der Ausführung Form
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();
}
Hat Ihr IList nur Strings enthalten? oder enthält es einen anderen Typ, '' '? –
Nate
uh ... er sagte, es ist ein IList ... –
Clyde