PDA

View Full Version : سوال: نمایش رکوردهای مرتبط در دو جدول به صورت یکجا



barnameye_man
چهارشنبه 18 فروردین 1389, 08:01 صبح
سلام دوستان من یه سئوالی داشتم هر چه قدر گشتم نتونستم جوابش و پیدا کنم من یه سایتی دارم که تو قسمت محصولات می خوام تصویر محصول که در یک جدول هست و مشخصات محصول در یک جدول دیگه هست بیاد به طوری که برای هر محصول چندین ردیف مشخصات هست به صورت شکل زیر


ممنون میشم لطفا کمکم کنید چون خیلی حیاطی برام

maxpayn2
چهارشنبه 18 فروردین 1389, 08:09 صبح
خب مشکلت چیه ؟

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 08:31 صبح
می تونید از دو تا گرید ویو به صورت master/detail استفاده کنید.

yekta64
چهارشنبه 18 فروردین 1389, 09:09 صبح
سلام
دوست عزيز شما مي تونيد دو جدول رو ادغام كنيد و نتيجه حاصل از ادغام دو جدول رو در گريد ويو نمايش بدي
موفق باشيد.

barnameye_man
چهارشنبه 18 فروردین 1389, 12:26 عصر
مشکلم اینه که نمی دونم از چی و چطوری استفاده کنم

barnameye_man
چهارشنبه 18 فروردین 1389, 13:43 عصر
نقل قول: نمایش رکوردهای مرتبط در دو جدول به صورت یک به چند هست چطوری ادغام کنم و از چی استفاده کنم تا مثل تصویری که ضمیمه کردم باشه یعنی نام محصول و تصویر محصول در یک جدول هست و مشخصات مربوط به اون محصول در یک جدول دیگه که بیش از یک رکورد هست از دوستان خواهش می کنم کمکم کنن
با تشکر

barnameye_man
چهارشنبه 18 فروردین 1389, 13:45 عصر
دوست عزیز Vahid_moghaddam (http://barnamenevis.org/forum/member.php?u=29992) می تونید بیشتر توضیح بدین و اگر ممکنه باشه یه کد نمونه هم بذارین ممنون می شم

Vahid_moghaddam
چهارشنبه 18 فروردین 1389, 18:26 عصر
اگر از gridview استفاده می کنید:
در گرید اول یک Template ایجاد کنید که در اون یک image باشه و یک گرید (گرید2). گرید1 رو به دیتاسورس متصل کنید. در رویداد RowDatabound گرید 1 می تونید به اطلاعات مربوط به هر رکورد دسترسی داشته باشید. مثلا ممکنه دیتاسورس گرید1 شامل جدولی باشه که در اون آدرس عکس و id محصول نگهداری می شه. id رو بخونید، بر اساس id مشخصات محصول رو وارد مثلا یک datatable کنید و از این datatable به عنوان دیتاسورس گرید2 استفاده کنید.

barnameye_man
پنج شنبه 19 فروردین 1389, 15:08 عصر
دوست عزیز ممنونم می تونید کد vb.net بارم بذارین

General-Xenon
جمعه 20 فروردین 1389, 11:00 صبح
سلام...
برای این کار اگر از SQL استفاده می کنی، باید دستور SQL بنویسی خیلی ساده هستش....

برای این کار معمولا 2 تا فیلد مشترک در هر جدول داری...کد SQL اینجوری میشه



SELECT TB001.ID FROM TB001 INNER JOIN TB002 ON TB001.ID=TB002.UID


موفق باشی...:لبخند:

Vahid_moghaddam
جمعه 20 فروردین 1389, 11:40 صبح
سلام...
برای این کار اگر از SQL استفاده می کنی، باید دستور SQL بنویسی خیلی ساده هستش....

برای این کار معمولا 2 تا فیلد مشترک در هر جدول داری...کد SQL اینجوری میشه



SELECT TB001.ID FROM TB001 INNER JOIN TB002 ON TB001.ID=TB002.UID
موفق باشی...:لبخند:

با توجه به عکسی که گذاشته شده و join کردن می شه بگید چطوری می شه اون گرید رو ایجاد کرد؟

barnameye_man
شنبه 21 فروردین 1389, 09:43 صبح
می تونید در مورد
List<Product> products;
List<ProductDetails> details;
توضیح بدین چون من با vb.net کار می کنم تو C# مشکل دارم ممنونم

General-Xenon
شنبه 21 فروردین 1389, 10:17 صبح
با توجه به عکسی که گذاشته شده و join کردن می شه بگید چطوری می شه اون گرید رو ایجاد کرد؟

حتما دوست عزیز......



می تونید در مورد
List<Product> products;
List<ProductDetails> details;
توضیح بدین چون من با vb.net کار می کنم تو C#‎ مشکل دارم ممنونم


سورس به صورت HTML هستش ....
موفق باشی...:چشمک:

Vahid_moghaddam
شنبه 21 فروردین 1389, 11:34 صبح
حتما دوست عزیز......



سورس به صورت HTML هستش ....
موفق باشی...:چشمک:
در جدول TB_DESC شما چهار فیلد M1 تا M4 رو دارید. اگر جدول details به این صورت باشه، با یه join می شه کاری رو که خواسته شده بود، انجام داد. اما فرض کنید جدول مشخصات به صورت زیر باشه:



int ProductID;
string Property;

و به تعداد دلخواه رکورد برای مشخصات داشته باشیم. نه فیلد. حالا دیگه نمی شه با یه join کار رو انجام داد

barnameye_man
شنبه 21 فروردین 1389, 15:01 عصر
دوستان اگه ممکنه کد vb.net هم بذارین لطفا کمکم کنید
ممنونم