Ajout d'une Liste<string> DataTable

J'ai créé une bibliothèque de classe et je suis en train d'ajouter des données à partir d'un List<string[]> à un DataGridView.

La chaîne est dans le format suivant:

"Test, 1^Glucose^10/24/2013 10:00;Test, 2^BUN^10/25/2013 11:00;Test, 3^BUN^10/25/2013 11:00"

Je suis de passage à la chaîne à partir d'un autre programme. J'ai alors une en faire une liste et ensuite essayer de l'ajouter à la DataTable mais pas de chance. J'ai créé le datagridview avec quatre colonnes.

Sélectionné - Case

Nom Du Patient - Chaîne

Ordre Nom - Chaîne

Date De Commande - Chaîne

Raison - Combo

J'obtiens une erreur:

la liste est plus grande que le nombre de colonnes.

Note: je peux faire de la chaîne de toute façon je veux avant de passer à ce programme donc, si j'ai besoin de faire quelque chose avec la chaîne avant de la transmettre au programme, s'il vous plaît laissez-moi savoir. Est-il un moyen plus facile?

Je veux juste que les données à afficher et je vais travailler sur le reste.

Toute aide serait appréciée.

C'est mon code:

public partial class RenewOrders : Form
{
    public static string strMLMPatientData = string.Empty;

    public RenewOrders(string all_patient_data)
    {
        InitializeComponent();
        strMLMPatientData = "Test, 1^Glucose^10/24/2013 10:00;Test, 2^BUN^10/25/2013 11:00;Test, 3^BUN^10/25/2013 11:00"
    }

    private void RenewOrders_Load(object sender, EventArgs e)
    {    
        this.ConvertStringToList(strMLMPatientData);
    }

    private void ConvertStringToList(string strMLMPatientData)
    {
        var patient_list = strMLMPatientData.Split(';').Select(x => x.Split('^')).ToList();
        DataTable dtTable = ConvertListToDataTable(patient_list);
        dataGridView1.DataSource = dtTable;
    }

    //Convert to DataTable.
    static DataTable ConvertListToDataTable(List<string[]> patient_list)
    {
        //New table.
        DataTable dtTable = new DataTable();

        dtTable.Columns.Add("Name", typeof(string));
        dtTable.Columns.Add("Order Name", typeof(string));
        dtTable.Columns.Add("Order Date/Time", typeof(string));

        foreach (var row in patient_list)
        {
            table.Rows.Add(row);
        }

        return dtTable;
    }
}
Veuillez poster seulement les choses toujours..

OriginalL'auteur eusanpe | 2013-06-15