پیاده سازی معماری چند لایه با استفاده از لینک (قسمت دوم)

نوشته شده توسط aliarjmandi مورخه ۱۳۸۸/۸/۲۲ در ساعت 04:06
مراحل ایجاد یک گرید با استفاده از GenericDataSource
نمایش اطلاعات :
1 - کتابخانه GenericDataLayer.dll که حاوی کلاس GenericObjectDataSource به پروژه اضافه شود . این کتابخانه جانشین کتابخانه ObjectDataSource میشود .
2 -  کتابخانه لایه دیتا که در این مثال NorthwindDataLayer.dll میباشد به پروژه اضافه شود .
3 - اشیاء GenericObjectDataSource و گرید به صفحه اضافه شوند .
4 - گرید مربوطه به شی GenericObjectDataSource متصل شده و اشیاء مورد نظر جهت نمایش انتخاب شوند .

img01.png
5 - توجه شود که برای گرید کلاس ها ی static انتخاب شوند .
6 - جهت انتخاب صفحه به صفحه گرید بایستی گزینه EnablePaging مربوط به  GenericObjectDataSource  روی True قرار گیرد .
7 - جهت فعالسازی مرتب سازی اطلاعات گزینه SortParameterName مربوط به GenericObjectDataSource   با مقدار sortExpression پر شود . این متغیر از طریق گرید مقدار دهی می شود .
8 - زمانیکه از  GenericObjectDataSource   گرید بصورت خودکار فیلد کلید را تشخیص نمیدهد به همین دلیل باید فیلد کلید را برای گرید مشخص نمایید . در این مثال (جدول Product) فیلد کلید ما DataKeyNames باید با مقدار  ProductID پر شود .
9 -  جهت نمایش اطلاعات فیلدهای که به سایر جداول متصل هستند باید ابتدا فیلد مورد نظر را بصورت TemplateField در آورد و سپس تنظیمات را انجام داده این تنظیمات مربوط به حالت نمایش و ویرایش میباشد . در تصویر زیر تنظیمات مربوط به حالت نمایش مشخص شده است . اینجا فواید استفاده از لینک مشخص میشود که براحتی شما به فیلد  جدول دیگری دسترسی دارید . نکته دیگر مربوط به مرتب سازی اطلاعات این ستون میباشد که شما بایستی sortExpession را تنظیم نمایید که در تصویر زیر مشخص شده است .
img02.png
ماحصل خروجی در تصویر زیر مشخص شده .
img03.png
ویرایش اطلاعات :

10 - برای ویرایش نمودن اطلاعات بایستی در  GenericObjectDataSource  روالهای مربوط به ویرایش ، اضافه نمودن و حذف اطلاعات را تنظیم نمایید .  این کار با استفاده از ویزارد دیتاسورس انجام میشود .
img05.png
بعد از اعمال تنظیمات :
img04.png
11 - برای ویرایش اطلاعاتی که به جداول دیگر مرتبط است بایستی از لیستهای کشویی DropDownList استفاده شود . برای اینکار نیاز به یک دیتاسورس جهت اتصال آن به موجودیت مربوطه است . نکته دیگر ردیفی از لیست میباشد که بایستی بصورت پیش فرض انتخاب شود .
کد مربوط به دیتا سورس :
img06.png
کد مربوط به ستون مورد نظر :
img07.png

فیلتر نمودن اطلاعات :
12 - در این مرحله قصد دارم بوسیله یک DropDownList اطلاعات جدول Product  رو براساس Category فیلتر کنم . برای اینکار بایستی یک دیتاسورس برای DropDownlist و یک دیتا سورس برای گرید داشته باشیم و برای دیتاسورس  گرید یک شرط بگذاریم که هر زمان آیتم انتخابی DropDownList تغیر کرد ، گرید ما نیز بر اساس آن فیلتر شود .  اما این کار نیاز به یک روال داریم که آیتمهای جدول Product براساس CategoryID فیلتر بکنه . همانطور که در پست قبلی دید ما بوسیله Partial کلاسها میتوانیم روالهای اضافی خود را به کلاس اصلی اضافه کنیم .  همانطور که در تصویر زیر می بینید این کلاس ایجاد شده است  . توجه کنید که خط دستور بالای تعریف روال که با رنگ صورتی مشخص شده است جهت اضافه نمودن نام روال به ویزارد تنظیم دیتاسورس مورد نیاز است .
 
img08.png

اکنون ماحصل کار در تصویر زیر مشخص شده است که نام روال در لیست توابع اضافه شده است .
img09.png
در سورس برنامه میتوانید گرید مربوطه را مشاهده نمایید .

ورود اطلاعات  با کد نویسی:
آخرین مطلب این پست در مورد کد نویسی مستقیم میباشد . قطعاً ما در یک پروژه نیازمندیم که بارها بصورت مستقیم اطلاعات را با کد نویسی وارد جداول نماییم . در این بخش سعی میکنم در جدول Shipper رکورد جدیدی وارد کنم . برای اینکار از دو Textbox کمک میگیرم .
img10.png
این مثال هم مربوط به پیمایش رکوردها میباشد :
img11.png
در این بخش این مطلب رو به پایان می رسانم . با استفاده آدرس زیر میتوانید سورس برنامه مثال را دریافت  کنید . در پست بعدی سعی میکنم به این گرید امکان درج اطلاعات را اضافه کنم .

Multi Layer With Linq to Sql.zip (541.18 kb)

کلمات کلیدی :

تکنیکهای برنامه نویسی

نظرات

12/2/2009 03:02:14 ب.ظ #

آزاده

من که از این چیزها سر در نیاوردم.خیلی حرفه ای ،آخه ما مثل شماحرفه ای نیستیم.
واقعا موفق باشی .:*

آزاده Iran |

3/6/2010 05:34:01 ب.ظ #

عمو

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

عمو Iran |

امکان ارسال نظر برای این موضوع وجود ندارد

Powered by BlogEngine.NET 1.5.0.7
Theme by Mads Kristensen

درباره نویسنده

من علی ارجمندی هستم . کارشناس رایانه . توی این وبلاگ سعی کردم تجربیات خودم رو با دیگران به اشتراک بگذارم . امیدوارم از مطالب این سایت استفاده کنید . لطفاً من رو از نظراتتون مطلع کنید

aliarjmandi@yahoo.com

سایر صفحات

Calendar

<<  May 2012  >>
MoTuWeThFrSaSu
30123456
78910111213
14151617181920
21222324252627
28293031123
45678910

View posts in large calendar
Locations of visitors to this page