دسته بندی ها
00:32 1398/07/05

نمایش گزارش stimulsoft روی کلاینت

مشخصات سوال کننده :
کاربر : msb38824221     امتیاز کاربر : ‎−2     رتبه کاربر : 7080
دسته بندی : سی شارپ

به این سوال امتیاز بدهید    ‎−1
تعداد بازدید این سوال : 6561
پاسخ دهنده : saedbfd 23:24 1398/07/26

با سلام

شما باید کانکشن استرینگ موجود در استیمول سافت رو هم داینامیک کنید. برای این کار قطعه کد زیر را مطابق تصویر در پروژه خود و در کدهای سی شارپ خود اضافه کنید. (دقیقا قطعه کدی که با باکس مشکی اضافه شده)

 

نکته :اما دقت بفرمایید که یک عبارت "reportConnection" در قطعه کد وجود دارد. این دقیقا نام کانکشن استرینگ در استیمول سافت می باشد. تصویر زیر این نام را در یک گزارش نمایش می دهد. (دقت نمایید که در تصویر زیر این نام LetterConnection می باشد که بایستی دقیقا همین نام در کدها جایگزین "reportConnection" شود.)

 

 

نکته دوم : دقت نمایید که کانکشن استرینگی که شما به سمت استیمول سافت ارسال می کنید با استفاده از این دستور یک کانکشن استرینگ انتیتی فریم ورکی می باشد. (دارای عبارت meta... در ابتدا می باشد) ولی کانکشن استرینگ موجود در استیمول سافت یک کانکشن استرینگ ساده می باشد. تصویر زیر کانکشن استرینگ موجود در استیمول سافت را نمایش می دهد.

 

بنابراین در دستورات سی شارپ باید یا استفاده از دستور subString عبارات اضافی را در کانکشن انتیتی فریم ورکی حذف نمایید تا کانکشن مورد نیاز استیمول سافت ساخته شود.

فیلم آموزش کار با استیمول سافت با کانکشن استرینگ داینامیک

موفق باشید.

ویرایش شده در دوشنبه 3 آبان 1400 ساعت 21:35:04
به این پاسخ امتیاز بدهید    2
امتیاز: 1654 رتبه: 1
پاسخ دهنده : Programmer 23:24 1398/07/26

با سلام ، دقیقا من هم همین مشکلو داشتم 

منتهی روش گزارشگیریمو تغییر دادم ،  از روش Businesses object

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

به این پاسخ امتیاز بدهید    4
امتیاز: 27 رتبه: 26
پاسخ دهنده : msb38824221 23:24 1398/07/26

سلام . خسته نباشید

مهندس در فایل publicVariable به چه صورت  ConnectToAccess  تعریف کنم که بصورت تابع باشه .

 به چه صورت مقدار دهی میشه . همین که این خط را نوشتم خطا داد .

ممنون میشم راهنمایی کنید

به این پاسخ امتیاز بدهید    0
امتیاز: ‎−2 رتبه: 7080
پاسخ دهنده : saedbfd 23:24 1398/07/26

"در فایل publicVariable به چه صورت  ConnectToAccess  تعریف کنم که بصورت تابع باشه .

 به چه صورت مقدار دهی میشه . همین که این خط را نوشتم خطا داد ."

همونجور که عرض کردم شما باید کانکشن استرینگ پروژه خودتون رو ارسال کنید. عبارت PublicVariabl.ConnectToAccess مربوط به کانکشن استرینگ یک پروزه دیگه هست و نیازی نیست شما این عبارت رو ارسال کنید.

موفق باشید

به این پاسخ امتیاز بدهید    1
امتیاز: 1654 رتبه: 1
پاسخ دهنده : msb38824221 23:24 1398/07/26

سلام مهندس

 Data Source=192.168.1.20;Initial Catalog=present;user Id=sa;Password=648;Integrated Security=false
  این کانکشن من است ان را می خواهم ارسال کنم . ان را  s5 قرار دادم الان در قسمت report.render(); خطا می دهد

           

مهندس اشکال کار من چیست؟

مهندس فایل rep.mrt را لازم است تغییر بدیم؟

ببخشید خیلی سئوال دارم

به این پاسخ امتیاز بدهید    0
امتیاز: ‎−2 رتبه: 7080
پاسخ دهنده : saedbfd 23:24 1398/07/26

با سلام

دستور کامل چاپ اطلاعات توسط استيول سافت با استفاده از کانکشن استرينگ کاملا دايناميک در قطعه کد زير نمايش داده شده.

 

private void btn_print_Click(object sender, EventArgs e)
{
   StiReport report = new StiReport();
   report.Load(System.AppDomain.CurrentDomain.BaseDirectory + "\\reportname.mrt");

   string CreateStimulConnection = PublicVariable.MainConnectionString
                .Substring(76, PublicVariable.MainConnectionString.Length - 76);
            CreateStimulConnection = CreateStimulConnection.Substring(0, 
            CreateStimulConnection.Length - 1);

   ((Stimulsoft.Report.Dictionary.StiSqlDatabase) 
     (report.Dictionary.Databases["stimulConnectionName"])).ConnectionString = 
      CreateStimulConnection;

   report.Compile();
   report.Render();
   report.Show();
}

 

در قطعه کد بالا متغير PublicVariable.MainConnectionString همان کانکشن استرينگ شما در سي شارپ مي باشد , stimulConnectionString هم نام کانکشن استرينگ در گزارش مي باشد که در پاسخ هاي بالاتر توضيح داده شده است.

دقت کنيد که در اين قطعه کد ابتدا کانکشن استرينگ سي شارپ را دريافت کرده و توسط SubString موارد اضافي را از آن حذف کرده و تبديل به يک کانکشن استرينگ مخصوص استيمول مي کنيم و سپس به گزارش ارسال مي کنيم

موفق باشيد

ویرایش شده در دوشنبه 3 آبان 1400 ساعت 21:33:57
به این پاسخ امتیاز بدهید    1
امتیاز: 1654 رتبه: 1
برای ارسال پاسخ لطفا وارد حساب کاربری خود شوید.   ورود