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

نوشته شده توسط 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)

کلمات کلیدی :

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

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