-
کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
درود و وقت بخیر
یک فرم در نرم افزار دارم که حاوی حدود 200 چک باکس هست که در تب های مختلفی گنجانده شده است. رویدادی نوشته شده که به وسیله اون هر چک باکسی که تیک بخوره Tag منحصر به فردی که بهش اختصاص داده شده رو میگیره و در دیتابیس درج می کنه . و این رویداد برای تمامی چک باکس ها در رویداد CheckChanged فرخوانی شده است .
یک رکورد به ازای هر CheckBox تیک خورده حاوی مقدار Tag اش در دیتابیس درج می شود . مثل تصویر زیر
http://82.102.11.2/chec.jpg
حالا باید گزارشی طراحی بشه در سمت StimulReport و این 200 چک باکس در گزارش طراحی بشوند و چون ما فقط Tag های مربوط به CheckBox ها را در دیتابیس ذخیره کرده ایم می بایست با گزارش ارتباط بر قرار کرد و چک باکس های متناظر بر اساس TAG ها در صورت موجود تیک بخورند و در گزارش نمایش داده شوند .
به نظر شما بهترین روش کد نویسی در این زمینه چی هست و البته کار راحت تر و بهینه .
در ضمن اگر پیشنهادی مبنی بر تغییر نحوه ذخیره شدن چک باکس ها در دیتابیس از سمت C# به نظر می رسد با کمال میل استقبال می شود .
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
در گزارش یک دیتاسورس که یکی از ستونهاش bool هست نیاز دارید.
جهت ثبت مقادیر ، یک جدول در دیتابیس نیاز دارید که معادل متنی همه تگ ها را مشخص کنه(جدول تگ). کلید این جدول به عنوان کلیدخارجی در جدول معاینه قرار میگیره(همان ستون tags)
برای دریافت داده ها از دیتابیس ، در سلکت یک join بین جدول تگ و جدول معاینه نیاز دارید. یک ستون نوع bit هم در سلکت اضافه میکنید که هم نام ستون bool در گزارش باشه.
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
در گزارش یک دیتاسورس که یکی از ستونهاش bool هست نیاز دارید.
جهت ثبت مقادیر ، یک جدول در دیتابیس نیاز دارید که معادل متنی همه تگ ها را مشخص کنه(جدول تگ). کلید این جدول به عنوان کلیدخارجی در جدول معاینه قرار میگیره(همان ستون tags)
برای دریافت داده ها از دیتابیس ، در سلکت یک join بین جدول تگ و جدول معاینه نیاز دارید. یک ستون نوع bit هم در سلکت اضافه میکنید که هم نام ستون bool در گزارش باشه.
خوب بسیار عالی و کاملا بهینه .
سوال من این هست که 200 تا چک باکس رو توی گزارش باید قرار بدم . تک به تک .طبق طراحی که در فرم ارائه شده به بنده هست ؟ جواب این سوالم بله هست ؟
ایـــــن لــــینــــک
بعد چه طوری به کوری باید این چک باکس ها رو وصل کنم ؟ باید یه ازای هر چک باکس یک ستون در گزارش درست کنم ؟ و وصلش کنم به Tag ها یا معادل اسمیش ؟
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
KhId آیدی پزشک هست یا مراجعه کننده؟
سربرگ شامل تاریخ، آیدی پزشک و آیدی مراجعه کننده در جدول مجزا و جزئیات باید در جدول دیگری باشه.
میشه یک جدول برای تعریف ارگانهای بدن. یک جدول برای گروه تگها و ... تعریف کرد. اگر میتونی یک اسکریپت از دیتابیس پیام خصوصی کن تا ببینم چطور طراحی کردی.
سوالی که در مورد طراحی و نحوه ذخیره کردن پرسیدید بایست جزء اولین سوالاتی باشه که قبل از شروع به کدنویسی از خودتون بپرسید.
ado.net یا ef استفاده میکنید؟
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
KhId آیدی پزشک هست یا مراجعه کننده؟
سربرگ شامل تاریخ، آیدی پزشک و آیدی مراجعه کننده در جدول مجزا و جزئیات باید در جدول دیگری باشه.
میشه یک جدول برای تعریف ارگانهای بدن. یک جدول برای گروه تگها و ... تعریف کرد. اگر میتونی یک اسکریپت از دیتابیس پیام خصوصی کن تا ببینم چطور طراحی کردی.
سوالی که در مورد طراحی و نحوه ذخیره کردن پرسیدید بایست جزء اولین سوالاتی باشه که قبل از شروع به کدنویسی از خودتون بپرسید.
ado.net یا ef استفاده میکنید؟
khID مربوط به مراجعه کننده است . در واقع خدمتی که برای یک بیمار درج میشه . بیمار یکبار در سیستم ثبت میشه و البته در دفعات بعدی خدمت براش درج میشه این khID در واقع آی دی یونیک خدمت اش است .
نقل قول:
سربرگ شامل تاریخ، آیدی پزشک و آیدی مراجعه کننده در جدول مجزا و جزئیات باید در جدول دیگری باشه.
بله در جداول دیگری اینا رو دارم و می تونم ازش استفاده کنم
از Ado.net استفاده می کنم .
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
مشکل من با کوری ها سمت C# اش نیست . موضوع من سمت گزارشش هست .
اینطور که من فهمیدم معادل این 200 تا چک باکس رو باید روی فرم گزارش طراحی کنم . این درسته ؟ الان همین قسمت اش مانده
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
NasimBamdad
مشکل من با کوری ها سمت C# اش نیست . موضوع من سمت گزارشش هست .
اینطور که من فهمیدم معادل این 200 تا چک باکس رو باید روی فرم گزارش طراحی کنم . این درسته ؟ الان همین قسمت اش مانده
فرض کنید قرار باشه کاربر یک چکباکس جدید ایجاد کنه. راه منطقیش به نظر من اصلا نباید تک تک ایجاد کنید، وقتی دیتاسورس دارید میتونید از کامپوننتهای خود استیمول استفاده کنید.
نمونه زیر رو با کامپوننت cross-tab ایجاد کردم. البته به ازای هر تگ یک سطر ایجاد میکنه.
http://s9.picofile.com/file/8334194292/Capture.PNG
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
فرض کنید قرار باشه کاربر یک چکباکس جدید ایجاد کنه. راه منطقیش به نظر من اصلا نباید تک تک ایجاد کنید، وقتی دیتاسورس دارید میتونید از کامپوننتهای خود استیمول استفاده کنید.
نمونه زیر رو با کامپوننت cross-tab ایجاد کردم. البته به ازای هر تگ یک سطر ایجاد میکنه.
http://s9.picofile.com/file/8334194292/Capture.PNG
ممنونم . لطف می کنید . خیلی نظر عالی بود . میشه زحمت بکشید فایل گزارش بدید ؟
و اینکه جناب افزاد عزیز گزارش بنده باید عینا و دقیق مثل لینک زیر بشه
http://82.102.11.2/ch2.jpg
که اینطور کامپوننتی فکر نکنم وجود داشته باشه توی StimulReport چرا که از وزارت خانه دستور هست که شکل فرم به این صورت باشه
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
NasimBamdad
...
و اینکه جناب افزاد عزیز گزارش بنده باید عینا و دقیق مثل لینک زیر بشه
مظورت از عینا چیه؟ همه چکباکسها در یک ستون منظورت هست؟
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
مظورت از عینا چیه؟ همه چکباکسها در یک ستون منظورت هست؟
بله در یک ستون
دقیقا مثل همین عکس میشه یه نگاهی بندازید
http://82.102.11.2/ch2.jpg
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
NasimBamdad
راهی که به نظر من میرسه دو تاست.
یکی اینکه همون عکسی که من ارسال کردم رو در نظر بگیرید. در اینصورت بعد از ارسال دیتا به گزارش روی کامپوننتهای جدول پیمایش کنید و border سلولهایی که یک گروه هستند را تغییر بدید تا خطی بینشون نباشه. یه مقدار دقت میخواد که بتونید تشخیص بدید کدام سلول باید اصلاح بشه.
راه دوم راحت تر هست
سمت برنامه یک دیتاتیبل با حداقل 3 ستون ایجاد کنید. (عضوبدن، گروه تگ، تگ)
باید متن تگها را به همراه یکی از کاراکترهای ☑ یا ☐ به صورت یک رشته به هم ملحق کنید و به همراه نام عضو و گروه تگ به دیتاتیبل اضافه کنید. در گزارش هم از یک cross-tab باید استفاده کنید.
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
-
1 ضمیمه
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
ممنونم و سپاس . ببخشید این کامپوننت CrossTab رو دارم از اول می سازم بر اساس ستون های خودم . اما به شکلی که شما انجام دادید نشد . نمی دونم چرا .
همش یه ستون Total میاد وسط . در عکس هست . مشکل کار کجاست
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
از قسمت rows آیتم هاش رو انتخاب و پراپرتی show total را false کنید.
-
2 ضمیمه
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
از قسمت rows آیتم هاش رو انتخاب و پراپرتی show total را false کنید.
سپاس حل شد .
2 تا مشکل دیگه هست . یکی اینکه من سمت راست ترین حالت قرارش دادم .اما بازم یه فاصله خالی وجود داره . چه طوری باید تنظیم بشه
دوم اینکه یک ستون اضافی آخر این کراس تب وجود داره که با مستطیل قرمز مشخص شده . چه طوری حذف اش کنم ؟
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
پراپرتی horizontal alignment را تنظیم کنید.
در مورد اون ستون اضافه نمیدونم چرا حذف نمیشه ولی میشه یک ستون بدون محتوا و بدون بوردر داشت، برای این کار یک ستون به قسمت summary اضافه کنید(فرقی نمیکنه چه ستونی)خصوصیت text و display value این ستون رو خالی کنید و border را روی none بزارید.
-
1 ضمیمه
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
پراپرتی horizontal alignment را تنظیم کنید.
در مورد اون ستون اضافه نمیدونم چرا حذف نمیشه ولی میشه یک ستون بدون محتوا و بدون بوردر داشت، برای این کار یک ستون به قسمت summary اضافه کنید(فرقی نمیکنه چه ستونی)خصوصیت text و display value این ستون رو خالی کنید و border را روی none بزارید.
ممنونم ، حل شد این مورد با افزودن اون ستون اضافه. ولی بازم نمیاد سمت راست ترین . زیادی کراس تب هم کوچیک کنم که اصلا میشه 2 صفحه کنار هم .
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
راهی که به نظر من میرسه دو تاست.
یکی اینکه همون عکسی که من ارسال کردم رو در نظر بگیرید. در اینصورت بعد از ارسال دیتا به گزارش روی کامپوننتهای جدول پیمایش کنید و border سلولهایی که یک گروه هستند را تغییر بدید تا خطی بینشون نباشه. یه مقدار دقت میخواد که بتونید تشخیص بدید کدام سلول باید اصلاح بشه.
راه دوم راحت تر هست
سمت برنامه یک دیتاتیبل با حداقل 3 ستون ایجاد کنید. (عضوبدن، گروه تگ، تگ)
باید متن تگها را به همراه یکی از کاراکترهای ☑ یا ☐ به صورت یک رشته به هم ملحق کنید و به همراه نام عضو و گروه تگ به دیتاتیبل اضافه کنید. در گزارش هم از یک cross-tab باید استفاده کنید.
فکر می کنم راه حل دوم برام بهتر باشه
فقط یه سوال دارم ، این کراس تب و ... مشکلش اینه که بر اساس کوری بنده میاد تگ اونایی که تیک خوردن رو نمایش میده . در صورتی که نیاز هست همه گزینه ها نمایش داده بشه ولی اونا که تیک خوردن تیک بخوره .
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
کوئری رو اصلاح کنید. در صورت نیاز از cross join و left join استفاده کنید.
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
Mahmoud.Afrad
راهی که به نظر من میرسه دو تاست.
یکی اینکه همون عکسی که من ارسال کردم رو در نظر بگیرید. در اینصورت بعد از ارسال دیتا به گزارش روی کامپوننتهای جدول پیمایش کنید و border سلولهایی که یک گروه هستند را تغییر بدید تا خطی بینشون نباشه. یه مقدار دقت میخواد که بتونید تشخیص بدید کدام سلول باید اصلاح بشه.
راه دوم راحت تر هست
سمت برنامه یک دیتاتیبل با حداقل 3 ستون ایجاد کنید. (عضوبدن، گروه تگ، تگ)
باید متن تگها را به همراه یکی از کاراکترهای ☑ یا ☐ به صورت یک رشته به هم ملحق کنید و به همراه نام عضو و گروه تگ به دیتاتیبل اضافه کنید. در گزارش هم از یک cross-tab باید استفاده کنید.
بخشید برای راه دوم کاراکتر تیک رو پیدا نمی کنم هرچی گوگل کردم . تیک خورده یا نخورده !
ب
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
نقل قول:
نوشته شده توسط
NasimBamdad
بخشید برای راه دوم کاراکتر تیک رو پیدا نمی کنم هرچی گوگل کردم . تیک خورده یا نخورده !
ب
همین هایی هست که گذاشتم. ازش کپی کنید.
-
1 ضمیمه
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
سپاس فراوان بالاخره دیتاتیبل درست شد و از روش دم یعنی ارسال کاراکتر های تیک خورده و نخورده استفاده کردم .
اما با Align کردن ستون ها مشکل دارم . , نمی تونم توی یک صفحه جاش بدم . فکر می کنم مشکل از اینه که در ستون سوم طول رشته ام زیاده و باید Break بشه و به سطر دوم بره ، اما نمیشه
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
از Word Wrap هم استفاده کردم نشد
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
پراپرتی horizontal alignment جدول را روی width قرار بدید.
-
1 ضمیمه
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
قراردادم نشد. راستی یه سوالی چرا باید کراس تب رو توی یک دیتاباند قرار بدم ؟ ضرورتی داره ؟
عکس پیوست کردم .
اینم فایل گزارش
http://s8.picofile.com/file/83355611...iresh.mrt.html
-
نقل قول: کد نویسی بهینه ارسال پارامتر برای 200 چک باکس در StimulReport
راهی نیست یعنی ؟ امکانش نیست کمک کنید ؟