PDA

View Full Version : حرفه ای: نمایش اطلاعات در جداولی با ستون های مجازی



ali_mnkt
سه شنبه 21 خرداد 1392, 00:18 صبح
با سلام

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

105376

که در این طراحی جدول head معادل فیلد ها و جدول body معادل اطلاعات جدول هام هست

چدول body بعد از پر شدن به صورت زیر می شه:

105377


و جدول head بعد از پر شدن به صورت زیر می شه:

105378


خوب من حالا می خوام اطلاعات کل افراد رو بدست بیارم ، پس کد زیر رو می نویسم :


select customerID,Title,value
from header inner join body
on header.id=body.hid

خروجی به این شکل می شه :

105379

خوب حالا می خوام این اطلاعات رو به صورت جدولی در برنامم نشون بدم درست مثل نمایش با gridview اما مشگل اصلی اینه که من سنون حقیقی ندارم که اطلاعات رو زیر ستون ها نمایش بدم به نظرتون باید چکار کنم تا بتونم اطلاعات رو زیر هم نشون بدم ؟

ali_mnkt
سه شنبه 21 خرداد 1392, 10:07 صبح
کسی نمی تونه کمک کنه ؟

Cybersilent
سه شنبه 21 خرداد 1392, 10:13 صبح
سلام،
فکر کنم می تونستی برای پیاده سازی چنین ساختاری از فیلد های xml هم استفاده کنی!

ali_mnkt
سه شنبه 21 خرداد 1392, 10:50 صبح
سلام،
فکر کنم می تونستی برای پیاده سازی چنین ساختاری از فیلد های xml هم استفاده کنی!

من مشکلی در نحوه پیاده سازی ندارم مشکلم تو نمایش به صورت ستونی اطلاعات مثل نحوه نمایش با grid view هست

forestasphalt
سه شنبه 21 خرداد 1392, 11:36 صبح
ااین راه حل ها رو امتحان کن
1-خروجی رو در یک دیتاتیبل بریز و گرید ویو رو بهش بایند کن !با sqldtatadaptor
2-از Linq استفاده کن و گریدویو رو به اون کوئری linq وصلش کن!خروجی در کوئری Linq قرار بده وبعد کوئری LINQ رو به گرید وصلش کن

ali_mnkt
سه شنبه 21 خرداد 1392, 12:21 عصر
ااین راه حل ها رو امتحان کن
1-خروجی رو در یک دیتاتیبل بریز و گرید ویو رو بهش بایند کن !با sqldtatadaptor
2-از Linq استفاده کن و گریدویو رو به اون کوئری linq وصلش کن!خروجی در کوئری Linq قرار بده وبعد کوئری LINQ رو به گرید وصلش کن

خوب فرقی نمی کنه که ، gridview برای نمایش اطلاعات ستون عنوان رو می گیره و اطلاعات معادل اون ستون ها رو زیرش نمایش می ده در این جا هم ستون های من معادل ردیف هاست چطور به gridview بگم که ازاطلاعات ستون title معادل فیلدها و اطلاعات ستون value معادل مقادیر هر کدام از اون ستون هاست ؟

forestasphalt
سه شنبه 21 خرداد 1392, 14:02 عصر
فرض کنیم خروجی شما در dt هست همون عکس 4 که گذاشتی الان این کد رو بنویس


gridview1.datasource=dt;
gridview1.databind();

خود گرید ویو ستون ها مطابق با دیتا تیبل میسازه ها!

ali_mnkt
سه شنبه 21 خرداد 1392, 19:24 عصر
فرض کنیم خروجی شما در dt هست همون عکس 4 که گذاشتی الان این کد رو بنویس


gridview1.datasource=dt;
gridview1.databind();

خود گرید ویو ستون ها مطابق با دیتا تیبل میسازه ها!

خوب دوست عزیز ستون های dt می شه customerid , title , value خوب توی gridview هم ستون هاش همینه دیگه ولی من می خوام اطلاعات ستون title در head مربوط به gridview قرار بگیره و اطلاعات ستون value زیر اونها بیاد

ali_mnkt
سه شنبه 21 خرداد 1392, 20:20 عصر
دوستان من یک همچین خروجی می خوام . آیا شدنیه ؟

105412

parvizwpf
سه شنبه 21 خرداد 1392, 20:33 عصر
اگه درست فهمیده باشم. باید select رو دستی بنویسی توی ado با executeNonQuery هر جمله ای بزاری بعنوان فیلد میشناسه . من مشکلم همینه چون تو برنامم میخوام کاربر فرمول رو خودش وارد کنه.

ali_mnkt
سه شنبه 21 خرداد 1392, 23:22 عصر
به نظرتون می شه با repeater این کار رو انجام داد ؟

zerocool151
چهارشنبه 22 خرداد 1392, 00:54 صبح
1 تیبل درس کن با css
2تا ریپیتر بزار
th تیبل با ریپیتر اول توش Title رو بایند کن
بعد تو td هاش و توسط ریپیتر دوم Value رو بایند کن
فک کنم کارت راه بیفته

ali_mnkt
چهارشنبه 22 خرداد 1392, 22:31 عصر
کس دیگه ای نظری نداره ؟

ali_mnkt
پنج شنبه 23 خرداد 1392, 13:31 عصر
هیچی ؟