ورود

View Full Version : سوال: بچه ها تورو خدا کمک کنید این خطا رو رفع کنم



alireza1268
سه شنبه 02 اردیبهشت 1393, 18:45 عصر
کسی می دونه این خطا برا چیه و چطور میشه رفعش کرد؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟؟ ؟؟
Unable to cast object of type 'ProjectApplication.Tbl_Etelaat_Kharid' to type 'System.Data.DataRow'.

اینا کداییه که نوشتم :
IEnumerable

<DataRow> q =(IEnumerable<DataRow>) (from DataRow p in db.Tbl_Etelaat_Kharids.AsEnumerable()


select p);


DataSet ds = new DataSet();


DataTable dt = new DataTable();

q.CopyToDataTable<
DataRow>(dt,LoadOption.OverwriteChanges);

ds.DataSetName =
"Connection";

dt.TableName =
"EtelaatKharid";

ds.Tables.Add(dt);

stiReport1.Dictionary.DataStore.Clear();

stiReport1.RegData(
"Connection",ds);

stiReport1.Dictionary.Synchronize();

stiReport1.Render();

stiReport1.Show();

stiViewerControl1.Report = stiReport1;


رو این خط خطا میده

q.CopyToDataTable<DataRow>(dt,LoadOption.OverwriteChanges);

spider21
سه شنبه 02 اردیبهشت 1393, 21:40 عصر
برای اینکار میتونی به روش زیر کد بزنی من ازش جواب گرفت

protected void Page_Load(object sender, EventArgs e)
{
List<string> items = new List<string>();
DataTable dt1 = new DataTable();
DataSet ds=new DataSet();
dt1 = GetTable();
//اطلاعات رو توسط تابع استخراج کن و تو فیلد بریز مثل زیر
items = GetInfo();
foreach (var item in items)
{
dt1.Rows.Add("value1", "value1", "value1");
}
ds.Tables.Add(dt1);
stiReport1.Dictionary.DataStore.Clear();
/// بقیش رو هم مثل کد خودت بنویس
}


private DataTable GetTable()
{
DataTable returnTable = new DataTable();
returnTable.Columns.Add("field1");
returnTable.Columns.Add("field2");
returnTable.Columns.Add("field3");
returnTable.TableName = "EtelaatKharid";
return returnTable;
}
}



حواست باشه اسم فیلدهای table دقیقا باید با فیلد های Data Source گزارشت یکی باشه در ضمن اسم Table Name باید دقیقا با اسم Data Source یکی باشه