2009-06-23 2 views
0

scheint einfach genug, ich möchte eine Generika-Liste von ganzen Zahlen nehmen und sie auf einem Datagridview anzeigen. Google kommt mit vielen Ergebnissen zum Anzeigen von benutzerdefinierten Klassen in einer Datagridview zurück, aber nicht mit einer Liste von int. Wenn ich die Liste nur als Datenquelle einreiche, wird nichts angezeigt.Wie kann ich eine Datagridview bekommen, um eine Liste anzuzeigen <int>/Liste (von Integer)?

Ich versuchte

dim _CheckIns as new list(of integer) 
_checkins.add(1577) 
_checkins.add(1999) 
Dim bl As New System.ComponentModel.BindingList(Of Integer)(Me._CheckIns) 
me._dg.datasource=bl 

dann versucht Binding mit mit der Bindungsliste

dim bs as new BindingSource() 
bs.datasource=bl 
me._dg.datasrouce=bs 

Kein Glück so weit zu gehen.

+0

I C# lesen können so Antworten in beiden Sprachen in Ordnung sein würde. – Maslow

Antwort

1

wird nicht so einfach, die Datenbindung Mechanismus aussieht für Eigenschaften und Int32 hat keine. Sie können es mit einer Liste < int?> Testen, es zeigt HasValue und Value colums.

So haben Sie es in einer Klasse wickeln müssen:

class MyInt 
{ 
    public int Value { get; private set; } 
    public MyInt(int v) { Value = v; } 
} 

ich es unveränderlich gemacht mit dem derzeit besten Praktiken zu entsprechen.

+0

oh ordentlich, ich habe mal gelesen, dass du das Set privat machen konntest, nicht auf die Syntax geachtet hast, und jetzt viele Stellen sehe, an denen ich diesen Trick benutzen kann. – Maslow

1

Try Datenbindung bs, nachdem es eine Datenquelle

bs.DataBind() 
+0

Ich finde kein Mitglied von BindingSource, BindingList oder datagridview namens DataBind()? – Maslow

0

ich geben glauben, dass das Gitter das Objekt ist, das datengebundene werden muss:

me._dg.DataSource = bs 
me._dg.DataBind() 
+0

Ich finde kein Mitglied von BindingSource, BindingList oder datagridview namens DataBind()? Dies ist eine Windows Forms Anwendung, ich erinnere mich vielleicht an eine Datenbank in asp.net? – Maslow

0

Ich war auf der Suche nach einer Antwort auf diese und endete nur auf eine Liste Umwandlung bis

var lstInts = new List<int> {1, 2, 3, 4, 5}; 
var lstConvertToStrings = lstInts.Select(x => new {NumberAsString = x.ToString()}).ToList(); 
Verwandte Themen