У меня есть функция, которая возвращает двумерный массив. В связи с характером программы, я ДОЛЖЕН объявить ее объектом.
Как это
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 ... поэтому он ДОЛЖЕН быть возвращен как объект ... я думаю ...