2011-12-12 2 views
1

J'essaye de faire un dossier de xml et charge le contenu dans un datagridview. D'après ce que j'ai lu que je devrais être en mesure de faire un simplexml désérialiser et charger datagridview

datagrid1.DataSource = cars; 

mais pour une raison quelconque, cela ne montrant rien dans mon datagridview. J'utilise comme un essai ce answer pour voir si je peux le faire fonctionner. Je ne savais pas si je devais poster tout le code ici ou si le lien est suffisant. Si nécessaire, je peux copier/coller ce code ici. Si non, quelqu'un peut-il me pointer dans la bonne direction?

cars.cs Classe

[Serializable()] 
public class Car 
{ 
[System.Xml.Serialization.XmlElement("StockNumber")] 
public string StockNumber { get; set; } 

[System.Xml.Serialization.XmlElement("Make")] 
public string Make { get; set; } 

[System.Xml.Serialization.XmlElement("Model")] 
public string Model { get; set; } 
} 


[Serializable()] 
[System.Xml.Serialization.XmlRoot("CarCollection")] 
public class CarCollection 
{ 
    [XmlArray("Cars")] 
    [XmlArrayItem("Car", typeof(Car))] 
    public Car[] Car { get; set; } 
} 

Formulaire

private void Form1_Load(object sender, EventArgs e) 
    { 
     CarCollection cars = null; 
     string path = "c://cars.xml"; 

     XmlSerializer serializer = new XmlSerializer(typeof(CarCollection)); 

     StreamReader reader = new StreamReader(path); 
     cars = (CarCollection)serializer.Deserialize(reader); 
     reader.Close(); 


     // finally bind the data to the grid 
     dataGridView1.DataSource = cars; 

    } 

Répondre

0

désolé tout compris que je devais faire:

dataGridView1.DataSource = cars.Car; 
Questions connexes