PDA

View Full Version : تبدیل object به datatable



sima_2n5k
دوشنبه 26 مهر 1389, 17:32 عصر
سلام
من میخوام object به datatable تبدیل کنم تو اینترنت یک[]object تبدیل کرده و object منو قبول نمی کنه

mehdi.mousavi
دوشنبه 26 مهر 1389, 17:49 عصر
سلام.
این Object شما چی هستش و هدفتون از این تبدیل چیه؟
لطفا سوال رو صریح و روشن بیان کنید.

موفق باشید.

sima_2n5k
دوشنبه 26 مهر 1389, 18:05 عصر
سلام.
این Object شما چی هستش و هدفتون از این تبدیل چیه؟
لطفا سوال رو صریح و روشن بیان کنید.

موفق باشید.


من اطلاعات فرمم و داخل یه object معمولی ریختم مثل:

object XMLObj = Tools.Common.DeSerializeAnObject(ServiceObj, thisClassBLL);

حالا کدی پیدا کردم که object به datatable تبدیل میکنه که به صورت زیر می باشد:

private DataTable ConvertToDataTable(Object[] array)
{
PropertyInfo[] properties = array.GetType().GetElementType().GetProperties();
DataTable dt = CreateDataTable(properties);
if (array.Length != 0)
{
foreach (object o in array)
FillData(properties, dt, o);
}
return dt;
}
private DataTable CreateDataTable(PropertyInfo[] properties)
{
DataTable dt = new DataTable();
DataColumn dc = null;
foreach (PropertyInfo pi in properties)
{
dc = new DataColumn();
dc.ColumnName = pi.Name;
dc.DataType = pi.PropertyType;
dt.Columns.Add(dc);
}
return dt;
}

privatevoid FillData(PropertyInfo[] properties, DataTable dt, Object o)
{
DataRow dr = dt.NewRow();
foreach (PropertyInfo pi in properties)
{
dr[pi.Name] = pi.GetValue(o, null);
}
dt.Rows.Add(dr);
}




ولی چون []Object این جوری تعریف کرده نمی تونم objectamo بهش بفرستم error می گیره

mehdi.mousavi
دوشنبه 26 مهر 1389, 18:10 عصر
سلام.
بسیار خوب، کافیه بدین شکل عمل کنید:


object XMLObj = Tools.Common.DeSerializeAnObject(ServiceObj, thisClassBLL);
DataTable ConvertToDataTable(new object[]{XMLObj});

موفق باشید.