PDA

View Full Version : سوال: کند بودن باز شده فرم هایی که برای گزارشگیری از استیمول سافت استفاده شده است



jmfnima
شنبه 24 دی 1390, 22:22 عصر
با سلام به همه دوستان
من برای گزارشگیری از اطلاعات ثبت شده بر روی فرمم از دو کمبو باکس که تاریخ رو وارد اون میکنیم و همچنین از کامپوننت استیمول که برای گزارشگیری استفاده میشه استفاده کردم و گزارشم رو در قسمت طراحی کامپوننت استیمول درست کردم مشکل اینجا هست که وقتی این فرم میخواد لود بشه چند ثانیه در حدود 10 ثانیه طول میکشه تا لود بشه آیا راهی هست که سرعت پایین لود شدن این فرم رو بهبود داد .

jmfnima
جمعه 05 اسفند 1390, 22:35 عصر
با سلام به دوستان
کسی نمیتونه به من کمک کنه؟

jmfnima
سه شنبه 23 اسفند 1390, 21:15 عصر
با سلام به همه دوستان
کسی نیست منو راهنمایی کنه ؟

PetekDincos
سه شنبه 23 اسفند 1390, 22:44 عصر
با سلام
فکر نکنم این قدر زمان ببره برای لود گزارش شما سعی کن در خود Codebehind لیستی که می خواهی در گزارش نمایش داده بشه رو درست کن بعد به خود گزارش پاس بده در این صورت کارایی بهتره تا بخواهی از قسمت طراحی خود گزارش برای گرفتن کوئری از دیتابیست و نمایش گزارش استفاده کنی با تشکر

fakhravari
چهارشنبه 23 فروردین 1391, 09:15 صبح
با سلام
فکر نکنم این قدر زمان ببره برای لود گزارش شما سعی کن در خود Codebehind لیستی که می خواهی در گزارش نمایش داده بشه رو درست کن بعد به خود گزارش پاس بده در این صورت کارایی بهتره تا بخواهی از قسمت طراحی خود گزارش برای گرفتن کوئری از دیتابیست و نمایش گزارش استفاده کنی با تشکر

اگر ممکن یه نمونه با اتصال با کد نویسی بنویسید

PetekDincos
چهارشنبه 23 فروردین 1391, 15:28 عصر
اگر ممکن یه نمونه با اتصال با کد نویسی بنویسید

با سلام
این هم یه نمونه برای انجام این کار باز اگه مشکلی بود در خدمتم با تشکر

fakhravari
جمعه 01 اردیبهشت 1391, 15:34 عصر
با سلام
ممنون از PetekDincos (http://barnamenevis.org/member.php?169796-PetekDincos).
یه راهنمایی برای طراحی اسلیموت برای وب میخواستم که همین بایند کردن به صورت دستی را به کار ببرم درونش.
فقط سوال من اینه که نمیشه اول با وصل کردن به sql این فرم ساخت بعد برای بایند کردنش دستی که در مثال بالا بود حالا برای تحت وب این کار را کرد.

PetekDincos
جمعه 01 اردیبهشت 1391, 16:37 عصر
با سلام
به این صورتی که در مثال قیلی گفتم شما می توانید در وب و هم در ویندوز استفاده نمایید و در وب هم در فرمت به بانک اطلاعاتیت که هر چی هست وصل شو و کوئری که گرفتی به این صورت پاس بده به گزارش و کوئری شما ممکن DataSet,DataTable,List,IEnamerable,... باشه که برای این ها هم موقع ایجاد New DataSource بایند نوع DataSource ات رو انتخاب کنی با تشکر

fakhravari
جمعه 01 اردیبهشت 1391, 20:45 عصر
خوب تا اینجا درست.
منظور من اینکه برای طراحی کارمون سخت میشه
از طریق بانک وصل بشیم فرم طراحی کنیم و بعد برای اتصال از کد نویسی بایند کنیم:متفکر:
کارمون درسته؟

PetekDincos
جمعه 01 اردیبهشت 1391, 21:00 عصر
با سلام
من خودم تو یه پروژه بزرگ به این شیوه عمل کردم چون دستت به این صورت کامل بازه و بخوایی مثلا فیلتر بگیری یا کار دیگهای انجام بدی خیلی راحتتری البته این نظر منه با تشکر

fakhravari
شنبه 02 اردیبهشت 1391, 21:35 عصر
با سلام.
در مورد طراحی فرم
نمیشه با اتصال به بانک اول طراحیشون کرد بعد به صورت دستی بایند کنیم.
چون اگر منظورم درست رسونده باشم وقتی فرم میسازی کل پروژه به صورت کد های xml ذخیره میشه . که بعد به صورت دیزاین باز میشه.
این کانکشن که درون xml ایجاد میشه ایا از طریق بایند دستی دیگر لازم نیست اونجا باشه.
___________
اگر ممکن یه توضیحی در باره چگونگی طراحی بگید

PetekDincos
یک شنبه 03 اردیبهشت 1391, 00:29 صبح
با سلام
من خودم این کار رو نکردم اما فکر کنم امکانش باشه که شما با اتصال به بانک DataSource هاتون رو ایجاد کنید و بعد کانکشن به بانک رو حذف کنید و خودتون از طریق کد و با توجه به DataSource Name اتون با استفاده از RegData اون دیتا سورس ها رو پر کنید و فکر کنم کار اصولیش این باشه شما امتحان کنید که آیا به این صورت جواب می گیرید یا نه اگر نشد اعلام کنید تا من هم آزمایش کنم اما فکر کنم بشه با تشکر

fakhravari
یک شنبه 03 اردیبهشت 1391, 16:58 عصر
سلام
دارم روی یه پروژه کار میکنم به قسمت گزارش گیری چند روز دیگه میرسم.
ممنون میشم تست کنید و خبرشو بهم بدین. تا با هم فکری بشه راه حل بهتری پیدا کرد

PetekDincos
یک شنبه 03 اردیبهشت 1391, 23:31 عصر
با سلام
من آزمایش کردم نشد DataSource هایی که به این دو شیوه ایجاد می شه متفاوته و وقتی از طریق کانکشن به دیتابیس یه DataSource ایجاد می شه نوعش با حالتی که خودمون به صورت دستی DataSource ایجاد می کنیم متفاوته و نمی شه به DataSource ای که از طریق کانکشن ایجاد شده از کد کوئری رو پاس داد باز بقیه دوستان آزمایش کنند با تشکر

alonemm
چهارشنبه 13 اردیبهشت 1391, 15:27 عصر
با سلام
من آزمایش کردم نشد DataSource هایی که به این دو شیوه ایجاد می شه متفاوته و وقتی از طریق کانکشن به دیتابیس یه DataSource ایجاد می شه نوعش با حالتی که خودمون به صورت دستی DataSource ایجاد می کنیم متفاوته و نمی شه به DataSource ای که از طریق کانکشن ایجاد شده از کد کوئری رو پاس داد باز بقیه دوستان آزمایش کنند با تشکر

باسلام:

بله دوست عزیز شما میتونید از Variables ها استفاده کنید و به عنوان 1 پارامتر برای کوئری هایی که از طریق کانکشن زده شده استفاده کنید.

به مثال زیر توجه کنید:


rpt.Dictionary.Variables["From_Date"].Value = start.ToString("yyyy/MM/dd");
rpt.Dictionary.Variables["To_Date"].Value = end.ToString("yyyy/MM/dd");

PetekDincos
چهارشنبه 13 اردیبهشت 1391, 16:11 عصر
باسلام:

بله دوست عزیز شما میتونید از Variables ها استفاده کنید و به عنوان 1 پارامتر برای کوئری هایی که از طریق کانکشن زده شده استفاده کنید.

به مثال زیر توجه کنید:


rpt.Dictionary.Variables["From_Date"].Value = start.ToString("yyyy/MM/dd");
rpt.Dictionary.Variables["To_Date"].Value = end.ToString("yyyy/MM/dd");

با سلام
دوست عزیز ما بحثمون یه چیز دیگه بود و در ضمن برای ارسال متغییر بعد از اینکه یک آبجکت از StiReport درست کردید می تونید به راحتی بنویسد

Report["Variable Name"]=MyValue;

با تشکر

fakhravari
چهارشنبه 13 اردیبهشت 1391, 23:50 عصر
با سلام
در مورد sqldatasours
من فرم با query که درون sqldatasours هست درست کردم . الان میخواهم داینامیک کنم یعنی به sqldatasours از درون فرم مقدار بدم.
به چه شکل است؟

alonemm
پنج شنبه 14 اردیبهشت 1391, 11:00 صبح
با سلام
دوست عزیز ما بحثمون یه چیز دیگه بود و در ضمن برای ارسال متغییر بعد از اینکه یک آبجکت از StiReport درست کردید می تونید به راحتی بنویسد

Report["Variable Name"]=MyValue;

با تشکر

دوست عزیز من هم در راستای بحث شما گفتم که برای فرستادن یک پارامتر که در قسمت کوئری در گزارش گیری مشخص کردیم باید یک Variable داشته باشیم که این متغییر مقدار پارامتر ما رو در کوئری مشخص میکنه.

خود متغییر ها در قسمت کوئری به کار نمیروند اما میتونند به عنوان مقدار یک پارامتر در نظر گرفته شوند.

alonemm
پنج شنبه 14 اردیبهشت 1391, 11:11 صبح
با سلام
در مورد sqldatasours
من فرم با query که درون sqldatasours هست درست کردم . الان میخواهم داینامیک کنم یعنی به sqldatasours از درون فرم مقدار بدم.
به چه شکل است؟

باسلام:

(البته این موضوع ربطی به این تالار و قسمت گزارش گیری نداره)

به کد زیر دقت کنید که عملیات فیلتر چگونه انجام میشود:


<asp:SqlDataSource
ID="SqlDataSource1"
EnableCaching="true"
DataSourceMode="DataSet"
Runat="server"
SelectCommand="Select * from Customers"
ConnectionString="<%$ ConnectionStrings:NorthwindConnectionString1 %>"
FilterExpression="country = '{0}'">
<FilterParameters>
<asp:ControlParameter
Name="countryparam"
ControlID="DropDownList1"
PropertyName="SelectedValue" />
</FilterParameters>
</asp:SqlDataSource>