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

1- استفاده از دو عدد foreach تو در تو
2- استفاده از رپیترهای تو در تو

روش اول بسیار نیاز به کدنویسی دارد و بسیار کند و غیر بهینه می باشد، ولی روش دوم بسیار جذاب و بهینه می باشد.
البته روش دیگری هم وجود دارد که سرعت آن بسیار بیشتر از دو روش فوق است ولی نیاز به مهارت بالا در کد نویسی دارد که در بحث ما نمی گنجد (فوت کوزه گری محسوب میشه).

بنابراین استفاده از رپیترهای تو در تو یکی از ضروریات برنامه نویسان وب می باشد، در بسیاری موارد نیاز داریم که اطلاعات را بصورت چند سطر در یک سطر نمایش دهیم.
مثلا فرض کنید که چندین کارمند داریم و هر کارمند دارای چندین شماره تماس می باشد.
برای اینکه بتوانیم اطلاعات کارمندان و شماره تماس هایشان را در یک صفحه نمایش دهیم باید روشی داشته باشیم که خروجی اطلاعاتمان بصورت زیر باشد:

نام
شماره تماس 
   حمید رضا مراداف09197081078
09123334455
02634445566
وحید جلالی
09123334555
09935444566


در اینجا شما باید اول یک رپیتر داخل صفحه بگذارید و داخلش یک رپیتر دیگه برای نمایش شماره تماس ها قرار بدین.

رپیتر ها یک رویداد با نام  ItemDataBound دارند که این رویداد حین ایجاد هر سطر از رپیتر اجرا می شود.

در رویداد ItemDataBound رپیتر اول (رپیتر بیرونی) آی دی سطری که داره توی رپیتر بایند میشه رو بدست میاریم و بعد میریم تمام شماره تماس های اون نفر رو از دیتابیس می گیریم و توی رپیتر دوم (رپیتر داخلی) می ریزیم.

به همین سادگی...

مقالات آموزشی دانشجویی برنامه نویسی و الکترونیک و شبکه

فعلا تا همین جا رو داشته باشید تا بعدا بیام و با هم بریم تو کار کدنویسی و  مثال بالا رو بصورت عملی پیاده سازی کنیم.

پس با ما باشید.

یا حق

آموزش استفاده از رپیرترهای تو در تو (رپیتر تو رپیتر) _ بخش دوم

نوشته شده در تاریخ جمعه 2 خرداد 1393    | توسط: ح.م    | طبقه بندی: آموزش ASP.NET،     | نظرات()