PDA

View Full Version : جابجایی سطر با ستون در کنترل GridView



saradashti
دوشنبه 10 اسفند 1388, 16:05 عصر
چه طور می توان سطرها و ستون های گریدویو رو جابه جا کرد یعنی چه طور می توان فیلد های سطر را به جای ستون قرارداد و برعکس؟ من یک جدول با تعداد زیادی ستون و سه تا سطر دارم که می خوام تبدیل بشه به لیستی از سه ستون و تعداد زیادی سطر! کمک فوری:لبخند:

mehdi.mousavi
دوشنبه 10 اسفند 1388, 16:57 عصر
چه طور می توان سطرها و ستون های گریدویو رو جابه جا کرد یعنی چه طور می توان فیلد های سطر را به جای ستون قرارداد و برعکس؟ من یک جدول با تعداد زیادی ستون و سه تا سطر دارم که می خوام تبدیل بشه به لیستی از سه ستون و تعداد زیادی سطر! کمک فوری:لبخند:

سلام.
ابتدا DataSet، DataView، DataTable یا Custom Object ای بسازید (از روی Data Source) که حاوی ستونهای مورد نظر شما باشه، سپس داده ها رو در درون این ستونها پر کنید. در نهایت، GridView رو به این Object تازه ساخته شده، Bind کنید.

موفق باشید.

پاورقی: مطمئن هستید که بانکی که این اطلاعات رو ازش Retrieve میکنید، درست طراحی شده؟ اصلا چرا در وهله اول، داده ها با مثلا سه ستون و N تا Row در جدول قرار نگرفته اند؟ احتمالا باید در طراحی جداول در بانک، تجدید نظر کنید.

saradashti
دوشنبه 10 اسفند 1388, 17:28 عصر
از نظر طراحی که مطمئن هستم که درسته اما سوال من اینه که ایا می توان سطر و ستون ها را جابه جا کرد؟ یعنی گرید این قابلیت رو داره یا نه؟

mehdi.mousavi
دوشنبه 10 اسفند 1388, 17:42 عصر
از نظر طراحی که مطمئن هستم که درسته اما سوال من اینه که ایا می توان سطر و ستون ها را جابه جا کرد؟ یعنی گرید این قابلیت رو داره یا نه؟

خیر. چنین قابلیتی (بصورت Built-in) نداره!
مگه اینکه کاری که گفتم انجام بدید.

ISFAHAN
دوشنبه 10 اسفند 1388, 20:28 عصر
با تشکر از مدیر بخش که تاپیک مورد نظر رو حذف نکرد. من هم اتفاقا به همین مشکل برخوردم ... دوستان من می خوام تعداد زیادی ستون را در یک گریدویو یا کامپوننت مشابه نشان دهم اما چون تعدادشون زیاده می خوام بصورت افقی ستون ها نمایش داده بشوند ... و چون احتمال اضافه شدن ستون را می دهم می خواهم طوری بنویسم که با اضافه شدن ستون به صورت اتوماتیک به سطرها یا همون ستون های جدول اضافه بشه ... از طراحی دیتابیس هم مطمئنم ... آیا این امکان وجود داره کسی راه حلی بلده ... و اگه آقای mehdi.mousavi (http://barnamenevis.org/forum/member.php?u=41233) بتونه اون چیزی که نوشته را با مثال بگه ممنونش می شم ...

mehdi.mousavi
دوشنبه 10 اسفند 1388, 23:23 عصر
از طراحی دیتابیس هم مطمئنم ... آیا این امکان وجود داره کسی راه حلی بلده ... و اگه آقایmehdi.mousavi (http://barnamenevis.org/forum/member.php?u=41233) بتونه اون چیزی که نوشته را با مثال بگه ممنونش می شم ...

سلام.
من گفتم "احتمالا" باید در طراحی جداول در بانک تجدید نظر کنید. نگفتم قطعا بانک رو اشتباه طراحی کرده اند. سوء تفاهم نشه... در هر حال، کاری که شما میخواهید انجام بدید رو قبلا Steve Sharrock در این مقاله (http://aspalliance.com/538_CodeSnip_Pivot_Tables_with_ADONET_and_Display_ in_a_DataGrid_Paged_Horizontally.all) توضیح داده. خلاصه کلام، همونی میشه که گفتم، یه روش دیگه هم آوردن ستونها در Row ها (و بالعکس) توسط یک Stored Procedure در سطح بانک (http://www.kodyaz.com/articles/t-sql-pivot-tables-in-sql-server-tutorial-with-examples.aspx) هستش.

موفق باشید.

saradashti
سه شنبه 11 اسفند 1388, 09:25 صبح
ممنون آقای موسوی
مقالات مربوطه را بررسی و مطالعه میکنم , ببینم به نتیجه ای میرسم یا نه.
هر کدام از دوستان هم اگر به نتیجه رسیدند , لطفا با بقیه در میان بگذارند :لبخندساده: ممنون

persian_bigboy
سه شنبه 11 اسفند 1388, 11:38 صبح
دوست خوبم سلام .
بهترین شیوه javascript هستش و یک تکس باکس . که Order id رو اونجا ذخیره میکنی . و مشکل حل میشه .
اگر هم خواستی میتونی بایه for ذخیره کنید .

saradashti
سه شنبه 11 اسفند 1388, 11:46 صبح
دوست خوبم سلام .
بهترین شیوه javascript هستش و یک تکس باکس . که Order id رو اونجا ذخیره میکنی . و مشکل حل میشه .
اگر هم خواستی میتونی بایه for ذخیره کنید .


دوست من مطمئن هستی که پاسخ را برای این بحث ارسال کردی؟ :متفکر: