برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

برترین مقالات کامپیوتر

نسبت دهی داده در فرم های وب

ممنظور نمایش داده در فرم های وب ، می توان کنترل ها را به منابع داده نسبت داد. نسبت دهی داده در فرم های وب با سا یر فرم ها ، نظیر فرم های تحت ویندوز کاملا" متفا وت است . در این مقاله به بررسی فرآیند فوق در فرم های وب و نحوه مشخص نمودن آنا ن برای کنترل ها ی متفاوت خواهیم پرداخت .
ما هیت فقط خواندنی داده ها . نسبت دهی داده در فرم های وب بر این واقعیت استوار است که : دستیابی به داده ها در برنامه های تحت وب، عمدتا" بصورت فقط خواندنی است . در چنین حا لتی ، صفحات متنا وبا" اطلاعاتی را از یک منبع داده ئی ، نمایش خواهند داد.در این نوع برنامه ها به موارد کمتری برخورد می شود که نیاز به نوشتن داده ( در مقایسه با خواندن اطلاعات از یک منبع داده ) در یک بانک اطلاعاتی باشد . موارد زیر نمونه هائی در این زمینه می باشند ( اطلاعات از منابع داده ئی خوانده شده و در اختیار کاربران قرار می گیرند )

*

یک صفحه جستجو که حا وی اطلاعات مربوط به سا یر صفحات و یا محصولات است.اطلاعات نمایش داده شده در صفحه نتا یج ،اغلب بصورت لینک به سا یر صفحات بوده که در چنین حالتی نیاز به ورود اطلاعات از طرف کاربر جهت ذخیره در بانک اطلاعاتی نخواهد بود.
*

یک صفحه که شامل نتایج مسابقات ورزشی و یا گزارش آب و هوا است .
*

یک صفحه که اطلاعات مربوط به بورس و سهام را نشا ن می دهد
*

و سایر موارد مشابه

معماری نسبت دهی داده در فرم های وب ، امکان ویرایش را فراهم نمی کند ، بدین ترتیب می با یست در صورت لزوم ، منطق مورد نطر جهت انجام این کار توسط برنامه نویس نوشته گردد. منطق مربوط به ویرایش فرم های وب ، به عوامل متفا وتی بستگی خواهد داشت :

*

منبع داده چیست ؟
*

آیا داده ها توسط یک Dataset می توانند Cache شوند ؟
*

از چه نوع کنترل ها ئی استفاده می شود؟ ( مثلا" آیا کنترل چندین رکورد را در یک Grid نمایش داده و یا یک رکورد ( مقدار) را در یک TextBox نمایش می دهد؟)
*

قصد استفاده از چه نوع کنترل هائی را بصورت همزمان دارید ؟

نسبت دهی داده در فرم های وب کاملا" انعطاف پذیر بوده و در این راستا می توان هر یک از خصلت های یک کنترل را به یک منبع داده نسبت داد. در روش های قبلی نسبت دهی داده ، معمولا" به خصلت Display داده ئی نسبت داده می گردید. ( مثلا" Text Property مربوط به یک Text box ) . در فرم های وب ، منبع داده می تواند شامل تقریبا" هر نوع اطلاعات قابل دسترس برای صفحات باشد . ( بانک اطلاعاتی ، سند Xml ، یک کنترل و یا پردازش دیگر و یا حتی ما حصل محا سبات انجام شده توسط شما ) . از نسبت دهی داده در موارد زیر می توان استفاده کرد :

*

مقداردهی متن مورد نظر جهت نمایش در کنترل های Textbox,Lable,Button,LinkButton و سایر کنترل ها
*

مقداردهی صفحات مقصد ( HREF ) مربوط به یک Link Control
*

نسبت دادن یک کنترل Checkbox به یک مقدار منطقی ( Boolean) بمنظور تنظیم خودکار وضعیت بررسی شده کنترل
*

مقدار دهی یک فایل گرافیکی به کنترل Image از طریق نسبت دادن صفت ImageURL به ستون مربوطه ای که حاوی نام فایل گرافیکی در بانک اطلاعاتی است .
*

مقدار دهی رنگ ،فونت ،اندازه کنترل ها و ... در مواردیکه می خواهیم رابط کاربری پیاده سازی نمائیم که اطلاعات مربوطه بهمراه مقدار پارامترهای مورد نظر در یک بانک اطلاعاتی ذخیره شده باشند .

کنترل ها ، دو نوع اسا سی نسبت دهی داده را حمایت می نمایند:

*

کنترل های چند رکوردی ، قادر به نمایش یک و یا بیش از یک رکورد داده در هر لحظه می باشند. Repeater ,DataList , DataGrid ، نمونه هائی در این زمینه می باشند.
*

کنترل های تک مقدار ، در هر لحظه قا در به نمایش یک مقدار خواهند بود. اغلب کنترل های سرویس دهنده Html نظیر textbox,Lable,HtmlInputText,HtmlAnchor نمونه هائی از این نوع کنترل ها می باشند.

اغلب کنترل ها امکا ن نسبت دهی خصا یص وصفات به یک مقدار داده ئی را فراهم می کنند.مثلا" کنترل DataList ، قادر به نمایش چندین رکورد در هر لحظه است اما می بایست صفت Backcolor آن را صرفا" به یک داده نسبت داد. فرآیند نسبت دهی داده ، با توجه به نوع استفاده شده ( چند رکورد ، تک مقدار ) دارای عملکردی کاملا" متفاوت با یکدیگر می باشند . برای نمایش چندین رکورد می با یست یک کنترل از نوع چند رکوردی ، را به یک منبع داده که شامل چندین رکورد است نسبت داد ( نظیر بردار ،یک مجموعه ،یک جدول و ...) . برای نسبت دهی یک کنترل تک مقدار ، می بایست مشخص نمود که چه صفتی می بایست نسبت داده شده و چه مقداری را می بایست به آن اختصاص یابد .

مقایسه کنترل های چند رکوردی و تک رکوردی

برخی از کنترل های فرم های وب ، قادر به نمایش چندین رکورد اطلاعاتی در یک لحظه می باشند. کنترل هائی نظیر Repeater,DataList,DataGride,CheckBoxList,RadioButtonList نمونه هائی در این زمینه می باشند . کنترل هائی نظیر Label,Textbox,Checkbox,Hyperlink ، صرفا" در هر لحظه قادر به نمایش یک مقدار ( رکورد) خواهند بود.
برای نسبت دهی داده در رابطه با کنترل های چند رکوردی ، مطابق زیر عمل می شود.
در رابطه با این نوع کنترل ها ، مهم مشخص کردن منبع داده ئی است که می بایست به یکی از خصلت های مربوطه نسبت داده شود . منابع داده ئی می تواند یکی از موارد زیر با شد :

*

Source Data و یا container که شا مل رکوردها ی مورد نظر جهت نسبت دهی به یکی از خصلت های مربوط به کنترل است ، می بایست مشخص گردد .
*

Data Member ، نظیر نا م یک جدول
*

یک فیلد یا ستون خاص برای نمایش ، ویژگی فوق در رابطه با کنترل هائی نظیر ListBox ،HtmlSelect که چندین آیتم اطلاعا تی را نمایش خواهند داد، استفاده می گردد.

کنترل های چند رکوردی را می توان به یک DataSet نسبت داد. علاوه بر امکا ن فوق می توان کنترل هائی از این نوع را به تقریبا" هر نوع ساختما ن داده ئی که اینترفیس IEnumerable را حمایت می کنند، نیز نسبت داد:

▪ ArrayList objects
▪ Collections
▪ Data readers (objects of type OleDbDataReader and SqlDataReader)
▪ DataView objects
▪ DataRow objects
▪ DataTable objects in datasets


کنترل های تک مقدار ، صرفا" قادر به نمایش یک مقدار ( رکورد) در هر لحظه خواهند بود. مثلا" می توان صفت Text مربوط به کنترل TextBox را به یک مقدار داده ئی نسبت داد. برای نسبت دادن مقدار به کنترل هائی از این نوع ،می توان از روش های متعددی بمنظور مشخص نمودن رکورد مورد نظر استفا ده نمود:

*

یک Data View را بگونه ای ایجا د کرد که با بکارگیری فیلتر های مربوطه صرفا" یک رکورد برگردانده شده و در ادامه می توان کنترل مورد نظر را به Data view نسبت داد. عبارت مربوط به نسبت دهی داده به این نوع کنترل ها مطابق زیر است. ا یندکس صفر [0] ، مشخص می نماید که می بایست اولین رکورد موجود در Data View انتخا ب و به کنترل مربوطه نسبت داده شود.

DataBinder.Eval(DataView1, "[0].au_lname")

*

یک DataSet را بگونه ای تکمیل کرد که شامل صرفا" یک رکورد باشد. ( روش فوق یک را هکا ر منا سب جهت استفاد ه از DataSet نخواهد بود )
*

استفاده از دستورات SQL و یا Stored Procedure جهت نسبت دهی مقدار به کنترل مورد نظر
نظرات 0 + ارسال نظر
برای نمایش آواتار خود در این وبلاگ در سایت Gravatar.com ثبت نام کنید. (راهنما)
ایمیل شما بعد از ثبت نمایش داده نخواهد شد