۱۳۹۸ پنج شنبه ۱۴ آذر
پست الکترونیک نقشه سایت انگلیسی
فرم MasterDetail
تاریخ به روزرسانی: 1394/02/14

فرم MasterDetail


معرفي فرم مسترديتيل(
MasterDetail)

در بعضي موارد نياز است كه كاربر اطلاعات اوليه را وارد كند و بعد به ازاي اين اطلاعات اوليه چندين ركورد ديگر ثبت كند ، مثلا كاربر موقع پركردن فرم استخدام مشخصات اوليه را وارد مي كند و بعد به هر تعداد كه لازم دارد مشخصات تحصيلي را وارد مي كند.

مثال:كاربر اول 3 ركورد براي مشخصات تحصيلي ثبت ميكند ، كاربر دوم 5 ركورد و كاربر بعدي 2 ركورد، پس تعداد ركورد براي مشخصات تحصيلي براي هر كاربر متغير است ، در اين گونه موارد اطلاعات اوليه يكبار ثبت مي شود در فرم مستر(مشخصات اوليه كاربر) و تعداداطلاعات بعدي كه متغير است(مانند مشخصات تحصيلي) در فرم ديتيل ثبت مي شود.

نحوه نمايش فرم هاي مستر ديتيل به كاربر

زمانيكه كاربر مهمان در سايت روي فرم مستر كليك ميكند يك پنل مشاهده ميكنددر اين پنل 2 لينك ديده ميشود "ثبت اطلاعات فرم جديد" و "ويرايش اطلاعات با كد رهگيري"، با كليك روي لينك اول فرم مستر باز ميشود و كاربر ميتواند در آن ورود اطلاعات انجام دهد، چنانچه كاربر اقدام به ثبت اطلاعات فرم مستر نمايد بعد از ثبت اطلاعات در بالاي فرم مستر يك كد رهگيري به كاربر داده ميشود كه براي پيگيري هاي بعدي ميتوان از آن استفاده نمود.

در پنل گفته شده چنانچه روي لينك "ويرايش اطلاعات با كد رهگيري" كليك نمايد يك كد رهگيري از كاربر گرفته ميشود (همان كد رهگيري كه در مرحله ثبت مستر به كاربر داده شده بود) كه با استفاده از اين كدرهگيري كاربر ميتواند اطلاعات فرم خود را ويرايش و مشاهده نمايدچنانچه براي فرم جريان كاري تعريف شده باشد در اين حالت كد رهگيري كه به كاربر در هنگام ثبت مستر داده شده بود با كد رهگيري كه بعد از زدن دكمه شروع فرايند به كاربر داده ميشود يكسان خواهد بود .

چنانچه فرم مسترديتيل گردش كار نداشته باشد، اگر كاربر بعد از پر نمودن فرمهاي مستر و ديتيل اين دكمه ارسال اطلاعات را كليك نمايد، به منزله تكميل و تاييد اطلاعات از سوي كاربر است و بعد از فشردن اين دكمه كاربر ديگرامكان ويرايش فرم را ندارد و تنها ميتواند اطلاعات را مشاهده نمايد.اگر فرم داراي گردش كار باشد با زدن دكمه شروع فرآيند اين فرم وارد مراحل گردش كار ميشود.(آموزش كار با گردش كار در سند ديگري موجود است.)

انواع فرم MasterDetail

فرم MasterDetail ساده : اين نوع فرم به صورتي است كه يك فرم مستر ، يك يا چند ديتيل دارد.

فرم MasterDetail چندگانه: اين نوع فرم به اين صورت مي باشد كه ديتيل فرم مستر اول ، خود مستر ، ديتيل هاي بعدي مي باشد.

اين نوع فرمها ، امكان ويرايش ، WF و ذخيره اطلاعات دارند.

به عبارتي فرم هاي MasterDetail ، فرمهاي چند تكه اي هستند كه براي پياده سازي يك سند از آنها استفاده مي كنند.

كار با فرم هاي MasterDetail

فرم MasterDetail ساده:

براي طراحي فرم MasterDetail يك فرم Masterكه همان مشخصات كلي است طراحي مي گردد و يك فرم Detail كه مشخصات متغير در آن قرار مي گيرد.

فرم Master : اين فرم از نوع ورود اطلاعات معمولي مي باشد كه در طراحي آن كنترل هاي كلي مانند مشخصات اوليه را قرار مي گيرد. در اين فرم يك كنترل لينك قرار با ID : detailhpl قرار دهيد. تعداد ركورد در هنگام ساخت فرم فقط براي فرم هاي از نوع Master Detail كاربرد دارد(دادن محدوديت به تعداد پر شدن يك فرم). حال اگر در ساخت فرم مستر براي آن مقدار تعيين كنيد ، اين تعداد ركورد فقط مخصوص همين فرم مي باشد.

فرم Detail : كه يك فرم از نوع MasterDetail است .موقع ايجاد، نوع فرم را از نوع "فرمهاي Master Detail" انتخاب كنيد، با اين كار يك DropDown نمايش داده مي شود كه ليست تمام فرم هاي ورود اطلاعات در آن نمايش داده مي شود ، كه بايد از بين آنها فرمي كه به عنوان Master در نظر گرفته شده را انتخاب كنيد.

 

در طراحي فرم ديتيل بايستي بعد از اينكه تمام فيلدهاي مورد نياز براي فرم را گذاشتيد يك GridView با ID=detailtable در فرم گذاشته تا بتوانيد از اين طريق اطلاعات موجود در فرم ديتيل را مشاهده كنيد.

نكته: در سمت سايت تا زماني كه براي فرم مستر ركورد ثبت نكنيد ، اجازه ي دسترسي به ديتيل ها و ثبت ركورد در آنها را نداريد.

فرم MasterDetail چندگانه:

گاهي اوقات نياز است به ازاي هر ركورد از فرمهاي ديتيل امكان ثبت چندين ديتيل ديگر وجود داشته باشد در اين نوع فرم ها ديتيل مستر اول ، خود MasterDetail هاي بعدي مي باشد.براي شروع كار ابتدا فرم مستر را ساخته، براي اين كار يك فرم ورود اطلاعات عادي بسازيد و كنترلهاي مورد نياز را در آن قرار دهيد، سپس يك فرم MasterDetailساخته و فرم مستر آن را همان فرم ورود اطلاعاتي كه در مرحله ي قبل ساختيد ، را صدا بزنيد.پس از ثبت دو فرم كه در بالا ذكر شد، در فرم مستر يك Hyperlink باID : detailhpl براي نمايش ديتيل آن و در فرم ديتيل هم به دليل اينكه قرار است اطلاعات نمايش داده شود ، يك گريد قرا دهيد.همان طور كه گفته شد در اين نوع فرم ها قرار است كه ديتيل مستر اول ، خود MasterDetail هاي بعدي باشد، بنابراين براي اين كار بايستي يك فرم ديگر از نوع MasterDetail ايجاد كنيد كه فرم مستر آن را فرم ديتيل قبلي انتخاب كنيد.

پس فرم اول از نوع ورود اطلاعات ، فرم دوم كه ديتيل فرم اول است از نوع MasterDetail و فرم سوم كه ديتيل فرم دوم است از نوعMasterDetal كه در هنگام تعريف فرم سوم، مستر آن را فرم دوم قرار بدهيد.براي اينكه بتوان اطلاعات فرم ديتيل را بعد از ثبت هر ركورد در آن فرم مشاهده نماييم لازم است يك گريد در طراحي فرم داشته باشيم و براي اينكه به ازاي هر ركورد بتوان در يك فرم ديتيل ديگر ثبت اطلاعات نماييم لازم است لينك آن فرم را داشته باشيماين 2 را با هم تركيب مينماييم تا بتوان اين نوع سناريو را با فرمهاي مستر ديتيل پياده سازي نمود

براي اين كار در يك كنترل گريد در فرم ديتيل اول قرار يدهيم و نام آن را detailhplintableميگذاريم .زمانيكه فرم ديتيل باشد و اين كنترل روي فرم قرار گيرد اگر به خصوصيت "تنظيمات گريد" اين كنترل مراجعه نماييم اين امكان وجود دارد كه در آن گريد يك فيلد به عنوان لينك قرار دهيم و آن را به آدرس فرم ديتيل بعدي كه قرار است در آن ثبت اطلاعات انجام شود لينك كنيم.

در زير مراحل كار نمايش داده شده است

توجه شود كه در لينك وارد شده بايد فرمت خاصي رعايت شود

http://localhost/CMS/ViewAdvEForm.aspx?code=812&lang=1&sub=23&tempname=thememahdie&docTypeCode=811&docCode=@@code

در لينك بالا code=812 كد فرم ديتيل آخر كه قرار است باز شود ميباشد (كد فرم "ديتيل 2")

docTypeCode كد فرم مستري است كه براي اين فرم ديتيل انتخاب شده است (فرم "ديتيل 1")

docCode نيز همانطور كه مشاهده ميشود به صورت پارامتري گرفته ميشود و مقدار code مربوط به سطر جاري در گريد detailhplintable است كه روي آن كليك ميشود



در درسا هنگام ثبت اطلاعات ميتوان براي هر ركورد ثبت شده براي فرم "ديتيل 1"با كليك روي لينك مربوطه در سطرهاي گريد چند ركورد در فرم "ديتيل2" ثبت نمود(شكل زير)

 

همانطور كه در شكل بالا ديده ميشود در اين فرمها به ازاي ركورد ثبت شده براي شاخص فرايند با مقدار 0 در فرم "ديتيل 1" دو ركورد تست 1 و تست 2 در فرم "ديتيل2" ثبت شده است.

همچنين براي نمايش و استفاده ي اين نوع فرم ها در سمت درسا ، فرم مستر اول در منو قرار مي گيرد.

چگونه از فرم MasterDetail در فرم استفاده مي شود؟

داخل پانل مديريتي در منوي مورد نظرتان فرم مستر را قرار دهيد،در سمت درسا بعد از ورود اطلاعات در فرم مستر و زدن دكمه ذخيره به طور اتوماتيك لينك فرم هاي ديتيل فعال مي شود كه با كليك روي هر لينك به فرم ديتيل مورد نظر هدايت مي شود.

چگونه ميتوان يك فرم مستر با چندين ديتيل داشت؟

بعد از طراحي فرم مستر از نوع ورود اطلاعات ، فرم هاي ديتيل را جداگانه طراحي كنيد و موقع تعريف هر فرم ديتيل در منوي پايين افتادني(Drop Down) انتخاب فرم مستر ، فرم مستر مد نظر را انتخاب كنيد.

چگونه ميتوان گريد مربوط به نمايش ركوردهاي مستر را سفارشي كرد؟

براي اين كار بايستي در فرم مستر يك گريد قرار دهيد كه مهم نيست در كجا قرار گرفته باشد ، چون جايي نمايش داده نمي شود و فقط براي Config كردن گريد مربوط به فرم هاي مستر سمت درسا در فرم قرار مي گيرد. پس از گذاشتن آن در فرم بايستي ID=editlist را به آن اختصاص دهيد و با استفاده از خصوصيت GridConfig، فيلدهاي آن را به هر شكلي كه مي خواهيد در فرم قرار دهيد.

 

تعداد بازدید: 2080
امتیازدهی
میانگین امتیازها:0 تعداد کل امتیازها:0
مشاهده نظرات (تعداد نظرات 0)
ارسال نظرات
نام  
آدرس پست الکترونیکی شما    
شماره تلفن
توضیحات  
تغییر کد امنیتی  
کد امنیت  
 
خراسان جنوبي، بيرجند، خيابان آيت ا... غفاري، دانشگاه علوم پزشكي و خدمات بهداشتي درماني بيرجند، سازمان مركزي، مديريت آمار و فناوري اطلاعات
تلفن:  32395801-056     دورنگار: 31635801-056   كدپستي:9717844741     E-mail: msit[@]bums.ac.ir
ورود اعضاء
خروج
Powered by DorsaPortal