PDA

View Full Version : مشکل در temp crystal



m.khani_121
دوشنبه 02 مرداد 1391, 09:39 صبح
سلام دوستان . میدونم این سوال رو باید تو بخش crystal بپرسم ولی اونجا گشتم چیزی پیدا نکردم . من تو کریستال وقتی چند تا فیلد table رو میزارم توی گزارشم هر دفعه که سطر table رو عوض میکنم بازم قبلی رو ( یعنی اولین چیزی رو که اضافه کردم ) رو نشون میده !! فکر کنم مشکل از temp ولی نمیدونم چه جوری با دستور پاکش کنم !!!

m.khani_121
دوشنبه 02 مرداد 1391, 21:26 عصر
کسی نمیدونه من باید چیکا کنم ؟؟؟

veniz2008
چهارشنبه 04 مرداد 1391, 00:49 صبح
سلام،اینجوری که نمیشه راهنمایی کرد.اگه از دیتا تیبل یا دیتاست استفاده میکیند احتمال داره مشکل از اونجا باشه. کدهایی رو که باهاش گزارش رو پر میکنید بذارید تا بشه بهتر راهنمایی کرد.

ali_habibi1384
چهارشنبه 04 مرداد 1391, 09:32 صبح
فكر ميكنم شما توي حالت طراحي به چنين مشكلي برخورد كردي.موقعي كه اطلاعت رو براي برنامه نويس نشون ميده كه گزارش به چه صورت خواهد بود.براي نمايش اطلاعات جديد در حالت طراحي گزارشت از منوي سمت چپ روي گزينه DataBase Field كليك راست كن و گزينه Verify Database رو بزن صفحه كه باز شد مقدار پارامتر جديدت رو توش بنويس.

veniz2008
چهارشنبه 04 مرداد 1391, 09:45 صبح
من احتمال میدم که باشرایطی که گذاشتی هیچ رکوردی وجود نداره!،(راستی شما مقادیر جدید رو از کجا وارد برنامه میکنید؟، منظورم اینه که من textbox ای نمی بینم درون کدهاتون). کدی رو که گذاشته بودید با چند خط تغییر ساده اینجا میزارم، شما وقتی دیتاتیبل رو پر کردی اول چک کن که آیا رکوردی با شرایط برنامه شما وجود داره یا نه، اگر وجود نداشت ریپورت ویوور رو مخفی کن و یک پیغام بده که رکوردی یافت نشد،ولی اگه دیتاتیبل شما مقدار گرفت(یعنی سطری واردش شد) اونوقت از همون کدهای خودتون استفاده کنید و رکورد رو نمایش بدید.


private void fprint03_Load(object sender, EventArgs e)
{
SqlConnection con = new SqlConnection();
SqlCommand cmd1 = new SqlCommand();
DataTable dt1 = new DataTable();
con.ConnectionString = constring;
cmd1.Connection = con;
SqlDataAdapter da1 = new SqlDataAdapter("SELECT * FROM ahkam INNER JOIN Person ON ahkam.Perno = Person.Perno INNER JOIN MonthWork ON Person.Perno = MonthWork.Perno INNER JOIN parametr ON ahkam.hokm = parametr.Pname WHERE (MonthWork.Perno =" + IDgrid + ") AND (ahkam.hokm = N'" + Fparametr + "') AND (MonthWork.Month =" + yearpt + ")", con);
da1.Fill(dt1);
if(dt1.Rows.Count != 0)
{
crystalReportViewer1.Visible = True;
ReportDocument rd = new ReportDocument();
rd.Load("S:\\project-phoone\\New folder\\hoghog-tir28\\hoghogh\\fprint03.rpt");
rd.SetDataSource(dt1);
crystalReportViewer1.ReportSource = rd;
crystalReportViewer1.Show();
}
else
{
crystalReportViewer1.Visible = False;
MessageBox.Show("Not Found");
}
}

m.khani_121
چهارشنبه 04 مرداد 1391, 10:59 صبح
أاداش همه این کارا رو کردم مطمئنم table پر میشه . اون متغیرهایی هم که گفتی از یه فرم دیگه میگیرم . ببین من هر دفعه که where عوض میشه بازم همون اطلاعات اولین بار میاد . !!! یعنی ریپورت اصلا عوض نمیشه !

veniz2008
چهارشنبه 04 مرداد 1391, 11:10 صبح
کدهای گزارش گیری مشکل ندارن. اون مقادیری که از فرم مبدا میفرستی رو چک کن. احتمالا از اونجا مقدار تکراری میفرستی. اون مقادیر رو داخل لیبل یا تکست باکس بریز و مطمئن شو که مقادیرت جدید باشن.

m.khani_121
چهارشنبه 04 مرداد 1391, 11:39 صبح
اونا رو هم چک کردم تکراری نیستن !!! هر دفعه جدید میدم بازم سطر اول table دیتابیس میاد !!! حتی دستور select رو هم تو quary تو Sql چک کردم درست میده بهم !! نمیدونم چشه :(((((

ali_habibi1384
چهارشنبه 04 مرداد 1391, 11:41 صبح
فايلت رو ضميمه كن ببينيم

m.khani_121
چهارشنبه 04 مرداد 1391, 11:41 صبح
میگم من از دستور rd.close یا rd.dispose استفاده نکردم مشکل از اینا نیس ؟؟؟ کجا باید بزارمشون ؟؟

m.khani_121
چهارشنبه 04 مرداد 1391, 12:24 عصر
دوستان فهمیدم مشکل چیه فقط نمیدونم چه جوری درستش کنم . ببینید من میام با کد زنی این کارا میکنم :
reportdocument rd=new reportdocument();

بعد بهش datasource میدما میدمش به crystalviewer !

بعد وقتی تو صفحه فرم میام پروژه کریستال رو بهش add میکنم خودش یه reportdocument میسازه و میره اطلاعات از اون میخونه و به خاطر همین سطر اول table رو میاره !! حالا چیکارش کنم ؟؟

barnamenevisforme
چهارشنبه 04 مرداد 1391, 14:16 عصر
سلام
توی event مربوط به form load چک کن ببین یه datasource دیگه واسش تعریف نکردی؟

m.khani_121
چهارشنبه 04 مرداد 1391, 14:29 عصر
نه درسته load !! میگم یه sample code آسون ندارین بهم بدین ببینم چه جوری Reportdocument رو پر میکنین ؟؟؟

veniz2008
چهارشنبه 04 مرداد 1391, 15:12 عصر
عزیز من کد خودت درسته. مطمئن باش از یه جایی داری بهش داده تکراری میدی. من خودم عینا از کدهای مشابه خودت تو پروژه هام استفاده میکنم. هیچ مشکلی هم نداشتم. یه کم به کدهات دقت کن ببین به قول دوستمون از یه جای دیگه پر نمیکنی؟. اگر میتونی برنامتو بذار تا دوستان بهش نگاه کنن و مشکلش رو برطرف کنن.

ali_habibi1384
چهارشنبه 04 مرداد 1391, 16:20 عصر
شما كه فايل پروژه ات رو الصاق نكردي كه كسي بخواد كمكت كنه!همش كار خودتو ميكني.پس خودت هم با مشكلت كنار بيا.