2009-11-30 7 views
0

J'ai données à partir d'un CD ou enregistrement actuellement configuration comme ceci:DataFormat pour DataGridView dataSource

class Release  //class containing all details of release 
{ 
    public string Artist;  //Release Artist 
    public string Title;  //Release Title 
    public string Released;  //Released (Date) 
    public Image Image;   //Image 

    private List<Track> trackList = new List<Track>(); //List containing tracks 
    public List<Track> TrackList 
    { 
     get 
     { 
      return trackList; 
     } 
    } 

    //CONSTRUCTOR 
    public Release() 
    { 
     //Initialize strings to empty strings 
     Artist = ""; 
     Title = ""; 
     Released = ""; 
     Image = null; 
    } 

class Track 
{ 
    public string Position; 
    public string Title; 
    public string TrackArtist; 

    public Track() 
    { 
     //Initialize strings 
     Position = ""; 
     Title = ""; 
     TrackArtist = ""; 
    } 

} 

Cela fonctionne bien comme je ne sais pas combien de pistes il y a quand je les POPULATE je peux simplement ajouter un nouvel élément à la liste comme chacun est trouvé.

Cependant, je ne peux pas trouver comment faire pour obtenir ma liste de pistes dans le DataGridView sans le peupler manuellement cellule par cellule.

Quelle serait une meilleure façon de structurer les données?

Merci d'avance.

Répondre

1

Découvrez How to: Bind Objects to Windows Forms DataGridView Controls

Si vous ne voulez pas configurer manuellement le champ Tracklist se liant au contrôle DataGridView, vous pouvez définir la propriété AutoGenerateColumns True.

DataGridView1.AutoGenerateColumns = True 
DataGridView1.DataSource = TrackList 
... 

Dans la classe Track, vous pouvez définir les propriétés implémentées automatiquement plutôt que des variables publiques. Par exemple,

class Track 
{ 
    public string Position { get; set; } 
    public string Title { get; set; } 
    public string TrackArtist { get; set; } 
... 
+0

A travaillé un régal merci! – Dave

+0

Super! Content de l'entendre. Voulez-vous le sélectionner comme réponse acceptée? –

Questions connexes