从对象检索2d数组并绑定到GridView

时间:2009-07-17 21:26:06

标签: c# .net data-binding object multidimensional-array

我有一个返回二维数组的函数。由于程序的性质,我必须将其声明为一个对象。 喜欢这个

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

最终我想将这些数据绑定到GridView 如果数组一维 ......以下方法可以正常工作。

gridView.DataSource = o1;

gridView.DataBind();

它不适用于多维数组。

我将使用以下代码将字符串数组转换为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();  

问题显然是该对象实际上不是一个数组......但是包含一个数组。是否可以访问它?我得到的所有Google点击都是人们在询问如何创建对象数组...

非常感谢任何简化情况的想法,谢谢!

-Dave

注意:数组是  由DCOM服务器返回...所以必须作为对象返回...我想...

1 个答案:

答案 0 :(得分:1)

如果函数的返回类型是object但它实际上返回了一个字符串数组,那么你不能简单地转换返回值吗?

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