PDA

View Full Version : فیلد های مرتبط در infopath



amin1softco
پنج شنبه 29 تیر 1391, 08:24 صبح
خوب راستش می خواستم خودم یک مقاله بنویسم که دیدم دوستان قبلاً زحمتش رو کشیدند این شاید خیلی بدرد بخوره....


تا حالا شده بخواهید در یک فرم اطلاعات چند سطر، به هم مربوط باشه و با انتخاب اولین سطر در سطر بعدی آیتم هایی ظاهر شوند که فیلتر شده سطر بالایی باشند؟ با یک مثال دقیق تر براتون توضیح میدم: فرمی که داریم دو فیلد Country و Cityداره که با انتخاب نام کشور در فیلد اولی اسامی نام شهر های مربوط به آن کشور در فیلد دوم ظاهر می شوند. این نوع فیلد ها به Cascade Drop Down یا Connected lookup fields معروف هستند.من در این پست سعی میکنم که نحوه ایجاد این فیلد ها رو در فرم های Infopath توضیح بدم.

1. اول از همه یک لیست در Shrepoint Site مون ایجاد میکنیم به نام Countries و در آن دو ستون به نام های Country و City از نوع Simple Text ایجاد میکنیم. (فیلد Title را به نام “کشور” تغییر میدهیم!)و مانند شکل زیر اطلاعاتمان را در آن در آن ذخیره میکنیم.

http://pspcommunity.org/blogs/samaneh/image_thumb_292461F8.png (http://pspcommunity.org/blogs/samaneh/image_20F03C61.png)

2.حال در InfoPath Designer یک فرم جدید ایجاد کرده سپس دو فیلد از نوع Drop Down ایجاد میکنیم یکی به نام Cityو دیگری به نام Country ، سپس از قسمت Manage Data Connection از قسمت Add 'گزینه Create New Connection و از نوع Receive Data را انتخاب کرده در مرحله بعدی از قسمت select source of data گزینه Sharepoint library or list انتخاب کرده و در مرحله مسیر مربوط به لیستی که در مرحله 1 ساخته بودیم (به نام Country)مشخص میکنیم و در نهایت از ما سوال می کند که اطلاعات کدام فیلد های مربوط به لیست را برای ما بیاورد که در آن فیلد های Country ، Cityو ID را مشخص می کنیم در انتها دکمه finish را میزنیم.شرح این مراحل را به طور کامل در تصاویر زیر آوردیم.

http://pspcommunity.org/blogs/samaneh/image_thumb_75E8288E.png (http://pspcommunity.org/blogs/samaneh/image_5D588B3E.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_7F60E704.png (http://pspcommunity.org/blogs/samaneh/image_673D7CA9.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_6AFB2179.png (http://pspcommunity.org/blogs/samaneh/image_5E014168.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_41A3D97B.png (http://pspcommunity.org/blogs/samaneh/image_7B931C67.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_144243AB.png (http://pspcommunity.org/blogs/samaneh/image_405F409C.png)
3. در Properties مربوط به فیلد Country گزینه Get choices from an external data source را انتخاب و در قسمت Data source گزینه Country ( همان Data Connection ی که در مرحله قبل ایجاد کرده بودیم.) را انتخاب میکنیم . و با توجه به شکل زیر در قسمت Value و Display name از پنجره باز شده فیلد Country را انتخاب میکنیم و چک مارک مربوط به Show only entries with uniqe display name را فعال میکنیم. سپس پنجره مربوطه را ok کرده و خارج میشویم. همین مراحل را برای فیلد City نیز انجام می دهیم.

http://pspcommunity.org/blogs/samaneh/image_thumb_1B9E0358.png (http://pspcommunity.org/blogs/samaneh/image_0A2DA280.png)

Country Properties

http://pspcommunity.org/blogs/samaneh/image_thumb_377F1283.png (http://pspcommunity.org/blogs/samaneh/image_5872852A.png)

City Properties
4. از فیلد City که بخشی از تنظیمات آن را در مرحله قبل انجام دادیم Properties گرفته و با توجه به شکل زیر در کنار Entries دکمه ای وجود دارد که با انتخاب آن پنجره ای باز میشود که گزینه Filter Data را انتخاب می کنیم و با انتخاب دکمه Add و در پنجره باز شده و در DropDown اولی گزینه Select Field Or goup را انتخاب و در پنجره باز شده در قسمت Data source ، گزینه Main را انتخاب و در قسمت پایینی country را انتخاب کرده و ok میکنیم .در Drop Down دومی Equal to را انتخاب و در Drop Down سومی باز هم گزینه Select Field or group را انتخاب کرده ولی این بار در قسمت Data Source گزینه Country ( این همان Data source ی است که در مرحله 2 ایجاد کردیم) را انتخاب و در قسمت پایینی و از قسمت data fields فیلد Country را انتخاب کرده و ok میکنیم. حال در قسمت filter Data ی که داشتیم Country = Country شده است.

http://pspcommunity.org/blogs/samaneh/image_thumb_737B2E6B.png (http://pspcommunity.org/blogs/samaneh/image_6FDD138E.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_2DF62E40.png (http://pspcommunity.org/blogs/samaneh/image_475E317A.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_10A0D676.png (http://pspcommunity.org/blogs/samaneh/image_110D096B.png)
5. بر روی فیلد Country کلیک کرده و از نوار بالای صفحه از قسمت Add Rule گزینه This fields Changes و سپس Query for data را انتخاب می کنیم در پنجره ظاهر شده در قسمت Data Connection از Drop Down آن Country را انتخاب کرده و ok میکنیم.

http://pspcommunity.org/blogs/samaneh/image_thumb_2D5A4B8B.png (http://pspcommunity.org/blogs/samaneh/image_4FFE8A06.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_30ABBD66.png (http://pspcommunity.org/blogs/samaneh/image_38372CD3.png)

دوباره بر روی فیلد Country کلیک کرده و از قسمت Add rule این بار از قسمت This fields Changes گزینه Set fields Value را انتخاب میکنیم در پنجره مربوطه در قسمت Field فیلد City را انتخاب و قسمت مربوط به Value را خالی گداشته و ok می کنیم.

http://pspcommunity.org/blogs/samaneh/image_thumb_0E077EEB.png (http://pspcommunity.org/blogs/samaneh/image_48CF27C1.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_5E88EA51.png (http://pspcommunity.org/blogs/samaneh/image_3F46437E.png)
تصاویر زیر هم نتیجه نهایی کارمون رو نشان داده . امیدوارم این مطالب براتون موثر بوده باشه.

http://pspcommunity.org/blogs/samaneh/image_thumb_562514FA.png (http://pspcommunity.org/blogs/samaneh/image_28A3F537.png)

http://pspcommunity.org/blogs/samaneh/image_thumb_470E3620.png (http://pspcommunity.org/blogs/samaneh/image_6076395A.png)


منبع : + (http://koobarspoint.blogspot.se/2010/06/cascading-drop-downs-with-infopath-2010.html) و + (http://pspcommunity.org/blogs/samaneh/archive/2011/04/26/creating-connected-lookup-fields-with-infopath-2010-in-sharepoint-2010.aspx)

sayan
چهارشنبه 11 مرداد 1391, 11:27 صبح
ارائه این ترفندها باعث سهولت در انجام کارها میشه.:تشویق:
ما منتظر ترفندهای دیگه هم هستیم.