2009-07-17 4 views
0

J'ai une fonction qui renvoie un tableau à deux dimensions. En raison de la nature du programme, je DOIS le déclarer comme un objet. Vous aimez cetteRécupérer un tableau 2d à partir d'un objet et le lier à GridView

object o1 = function(x); //note the function returns something similar to this {string[x,y]}; 

finalement je veux lier ces données à un GridView.
Si le tableau est unidimensionnel ... la méthode suivante fonctionne correctement.

gridView.DataSource = o1; 

gridView.DataBind(); 

il ne fonctionne pas pour les tableaux multidimensionnels.

J'utiliser le code suivant pour mettre le tableau de chaînes dans un DataTable

DataTable dt = new DataTable(); 

dt.Columns.Add("Name", Type.GetType("System.String")); 

dt.Columns.Add("Age", Type.GetType("System.String")); 

dt.Columns.Add("Sex", Type.GetType("System.String")); 

for (int i = 0; i < 5; i++) 
{ 

    dt.Rows.Add(); 

    dt.Rows[dt.Rows.Count - 1]["Name"] = o1[i, 0]; 

    dt.Rows[dt.Rows.Count - 1]["Age"] = o1[i, 1]; 

    dt.Rows[dt.Rows.Count - 1]["Sex"] = o1[i, 2]; 

} 

GridMultiD.DataSource = dt; 

GridMultiD.DataBind(); 

le problème est évidemment que l'objet n'est pas en réalité un tableau ... mais contient un tableau. Est-il possible d'y accéder? Tous les hits Google que je reçois sont des gens demandant comment faire des tableaux d'objets ...

Toutes les idées pour simplifier la situation sont aussi grandement appréciées, merci!

-Dave

Note: le tableau est étant renvoyé par un serveur ... il DCOM DOIT être retourné comme un objet ... Je pense ...

Répondre

1

Si le type de retour la fonction est objet mais elle renvoie en réalité un tableau de chaînes, alors ne pouvez-vous pas simplement convertir la valeur de retour?

string[,] array = (string[,]) o1; 
+0

merci beaucoup, cela l'a résolu! Je n'avais pas réalisé que vous pouviez lancer quelque chose en tant que tableau. : P (Je suis assez nouveau à cela) – Dave

Questions connexes