PDA

View Full Version : نمایش محتوای دیتاتیبل در استیمول سافت



SamStar
چهارشنبه 15 خرداد 1392, 00:52 صبح
من در فرمم یه دیتا گرید دارم که گزارشی رو نشون میده به صورت زیر :

dtagrdGozareshForoosh.DataSource = B.SearchgozareshForooshKharidar(cbogozareshKharida r.Text, (datePicker6.Date), (datePicker5.Date));


حالا اگه بخوام از دیتاتیبلی که تعریف کردم استفاده کنم و یک گزارش استیمول سافت بسازم چه کار باید بکنم ؟ ببینید من اینطوری نوشتم ولی کار نمیکنه :


BLL B=new BLL();
GozareshForoosh_Kharidar.RegData("DataTableKharidar", B.SearchgozareshForooshKharidar(cbogozareshKharida r.Text, (datePicker6.Date), (datePicker5.Date)));
GozareshForoosh_Kharidar.Compile();
GozareshForoosh_Kharidar.Render();
GozareshForoosh_Kharidar.Dictionary.Synchronize();
GozareshForoosh_Kharidar.Show();


و در طراحی استیمول هم کانکشن تعریف کردم . یک new data source هم از نوع data from dataset, datatable تعریف کردم و اسمش رو گذاشتم DataTableKharidar که توی کد بالا تعریف کرده بودم . بعد هم column ها رو اضافه کردم
یک databind هم گذاشتم و تکست باکس توش گذاشتم و دیتاسورسش رو گذاشتم همون دیتا سورسی که بالا تعریف کردم . اما موقع اجرا چیزی نشون نمیده .
مشکلش کجاس ؟

صباح فتحی
چهارشنبه 15 خرداد 1392, 01:03 صبح
سلام type castانجام بده مشکل حل میشه

صباح فتحی
چهارشنبه 15 خرداد 1392, 01:06 صبح
GozareshForoosh_Kharidar.RegData((Datatable)B.Sear chgozareshForooshKharidar(cbogozareshKharida r.Text, (datePicker6.Date), (datePicker5.Date)));

سعید کشاورز
چهارشنبه 15 خرداد 1392, 01:16 صبح
اینجارو ببین (http://barnamenevis.org/showthread.php?380724-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A8%D8%A7-Stimul-Reporter-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D9%88%DB%8C%D8%AF%D8%A6%D9%88)

SamStar
چهارشنبه 15 خرداد 1392, 01:29 صبح
سلام type castانجام بده مشکل حل میشه

درست نشد !

صباح فتحی
چهارشنبه 15 خرداد 1392, 01:44 صبح
این نمونه کد روببین.

DataTable dt = new DataTable();
dt = query.Show1Roze(Class.varibles.UserID, dataGridView1.CurrentRow.Cells[0].Value.ToString());

stiReport1.RegData(dt);

stiReport1.Compile();
stiReport1["Namek"] = Class.varibles.UserName;
stiReport1["emzakarmand"] = imgek;
stiReport1.Render();
stiReport1.Show();


تو تابع regdataباید دیتاتیبل بریزی.
توگزارشت دیتا سورسو ساختی؟

SamStar
چهارشنبه 15 خرداد 1392, 01:47 صبح
اینجارو ببین (http://barnamenevis.org/showthread.php?380724-%D8%A2%D9%85%D9%88%D8%B2%D8%B4-%DA%AF%D8%B2%D8%A7%D8%B1%D8%B4-%DA%AF%DB%8C%D8%B1%DB%8C-%D8%A8%D8%A7-Stimul-Reporter-%D8%A8%D9%87-%D8%B5%D9%88%D8%B1%D8%AA-%D9%88%DB%8C%D8%AF%D8%A6%D9%88)

از بین این فیلمها پیدا نکردم که از روش من استفاده کرده باشه

SamStar
چهارشنبه 15 خرداد 1392, 01:57 صبح
تو تابع regdataباید دیتاتیبل بریزی.
توگزارشت دیتا سورسو ساختی؟

دیتا تیبل رو ریختم تو regdata
اینم کدشه (چندلایه نوشتم )

public DataTable SelectAll(string TableName,string parameters,string condition)
{
Common obj_common = new Common();
SqlCommand cmd = new SqlCommand();
cmd.Connection = obj_common.Connection();

cmd.CommandText = " select "+ parameters +" from " + TableName + " WHERE "+ condition;

cmd.CommandType = CommandType.Text;

SqlDataReader reader = cmd.ExecuteReader();
DataTable table = new DataTable();
table.Load(reader);
return table;

}


توی گزارش هم یه دیتاسورس ساختم البته فقط یه اسمه به نام "DataTableKharidar" که توی regdata تعریف کردم و کدی پشتش نداره . درسته ؟

صباح فتحی
چهارشنبه 15 خرداد 1392, 02:02 صبح
ستون های گزارش ودیتاتیبل متناظر هم هستن؟
توی رج دیتا لازم نیست اسم دیتاسورس بنویسی اونطوورم امتحان کن

SamStar
چهارشنبه 15 خرداد 1392, 02:08 صبح
ستون های گزارش ودیتاتیبل متناظر هم هستن؟
توی رج دیتا لازم نیست اسم دیتاسورس بنویسی اونطوورم امتحان کن

آره اسماشون یکیه.

اسم دیتاسورس رو کجا بنویسم ؟ متوجه نشدم !
اسم دیتا سورسم "DataTableKharidar" هست :


GozareshForoosh_Kharidar.RegData("DataTableKharidar", B.SearchgozareshForooshKharidar(cbogozareshKharida r.Text, (datePicker6.Date), (datePicker5.Date)));

صباح فتحی
چهارشنبه 15 خرداد 1392, 02:14 صبح
لازم نیست توی پارامتر رج دیتا ذکرش کنی

GozareshForoosh_Kharidar.RegData( B.SearchgozareshForooshKharidar(cbogozareshKharida r.Text, (datePicker6.Date), (datePicker5.Date)));

SamStar
چهارشنبه 15 خرداد 1392, 02:17 صبح
هر کاری میکنم همونطوری خالی نشون میده

SamStar
چهارشنبه 15 خرداد 1392, 02:23 صبح
ببین قسمت گزارش رو درست تعریف کردم ؟

105130

این هم کانکشنم :

105131

صباح فتحی
چهارشنبه 15 خرداد 1392, 02:36 صبح
نه اینطور انجام نده واسه دیتاسورس به گزارش کانکشن لازم نیست.
باید ازطریق دیتاست به گزارش دیتاسورس رو اضافه کنید.چطور ساختی تو

SamStar
چهارشنبه 15 خرداد 1392, 02:42 صبح
اینطوری ؟

105132

اولش هم اینطوری نوشته بودم . دیدم اجرا نمیشه گفتم شاید لازم باشه اینجا هم کانکشن بزارم .
به هرحال هیچ کدومش اجرا نمیشه

صباح فتحی
چهارشنبه 15 خرداد 1392, 02:52 صبح
نه کلا اینا رو پاک کن.برو توپروژه یه دیتاست بساز تیبل هارو بریز اونجا بعد رو فایل گزارش راست کلیک کن دیتاسورس بزن واون دیتاستو انتخاب کن

SamStar
چهارشنبه 15 خرداد 1392, 03:17 صبح
ببین من برای گریدم که توی پروژه دیتاست نساختم ، این کد رو نوشتم

public DataTable SelectAll(string TableName,string parameters,string condition)
{
Common obj_common = new Common();
SqlCommand cmd = new SqlCommand();
cmd.Connection = obj_common.Connection();

cmd.CommandText = " select "+ parameters +" from " + TableName + " WHERE "+ condition;

cmd.CommandType = CommandType.Text;

SqlDataReader reader = cmd.ExecuteReader();
DataTable table = new DataTable();
table.Load(reader);
return table;

}




اونوقت میره از توی اس کیو ال اطلاعات رو میخونه

حالا واسه ریپورت هم باید بتونه با این کد اطلاعات رو از اس کیو ال بخونه دیگه . نه ؟ (مثل گرید )

صباح فتحی
چهارشنبه 15 خرداد 1392, 03:23 صبح
بله میدونم باید دیتاسورسو اونطور که گفتم تنظیم کنی.دیتاسورسو درست کنی راحت دیتاتیبل لود میشه توش

صباح فتحی
چهارشنبه 15 خرداد 1392, 03:30 صبح
اینجاروببین یه فیلم داره دیتاسورسو دستی میده
http://learnfiles.com/
من برم بخوابم.شبخوش

SamStar
چهارشنبه 15 خرداد 1392, 13:14 عصر
فکر میکنم نتیجه این باشه که حتما باید دیتا سورس رو توی پروژه بسازیم و نمیشه از طریق کدهای ADO (همونطور که اطلاعات رو به گرید می فرستیم - بدون ساختن جدول در پروژه - ) در استیمول گزارش گیری کرد .
درسته ؟