PDA

View Full Version : سوال: جلوگيری از نمايش همه ستون ها در گيريد



hamid67fathi
دوشنبه 16 آذر 1388, 13:19 عصر
سلام
من يه ديتا تبل دارم و ميخوام محتوياتش رو در گيريد نمايش بدم ، اما نميخام همه ستون هاش در گيريد نمايش داده بشه !!
چطور ميشه اين کار رو انجام داد ؟؟

majjjj
دوشنبه 16 آذر 1388, 13:26 عصر
1 موقع select رکوردهایی که میخواهین رو سلکت کنید
2 در گرید ویو ستونهایی رو که نمیخواهین نمایش بدین hide کنید

Afshin160
دوشنبه 16 آذر 1388, 13:41 عصر
يه توصيه ... دوست عزيز بهتر data ها تون را همين طوري يه راسته تو ديتاگريد نريزيد و بهتر اول به dataSource وصل بشيد و بعد آن را به يه ديتاگريد وصل كنيد و از مزاياي جالب dataSource استفاده كنيد واز جمله مزايا همين مشكل شماست .

mo_re_s
دوشنبه 16 آذر 1388, 17:22 عصر
سلام دوست عزیز
به نظر من بهتره که پیشنهاد همین دوست عزیزمون که موقع select رکوردهایی که میخواهین رو سلکت کنید رو عمل کنید ولی اگه خواستید که ستونی از دیتا گرید رو نمایش ندید میتونید خاصیت Visible ستون مورد نظر رو برابر false قرار بدید.

(هیچکس)
سه شنبه 17 آذر 1388, 06:24 صبح
با سلام ...!

قبل از اینکه اطلاعات رو تو Grid بریزید این کد رو بنویسید :
DataGridView1.AutoGenerateColumns = false;
و بعد در طراحی ستون هایی رو به Grid اضافه کنید و به ستون مورد نظر وصل کنید. با خاصیتهای
DataPropertyName : نام ستون در دستور select
HeaderText : نمایش سر ستون در Grid

موفق باشید ...

Ali_M_K
پنج شنبه 19 آذر 1388, 20:08 عصر
سلام فقط و فقط از DataView استفاده کن....
به حرف هیچ کس دیگه هم گوش نکن.:قهقهه:

mehdi.mousavi
پنج شنبه 19 آذر 1388, 21:13 عصر
سلام فقط و فقط از DataView استفاده کن.... به حرف هیچ کس دیگه هم گوش نکن.

سلام.
دقت کنید که سوال این بود:


من يه ديتا تبل دارم و ميخوام محتوياتش رو در گيريد نمايش بدم ، اما نميخام همه ستون هاش در گيريد نمايش داده بشه

اگر چه شما در DataView میتونید داده ها رو filter کنید، اما این مساله فقط روی Row های DataView تاثیر میذاره. شما در DataView نمیتونید Column ها رو حذف کنید و زیرمجموعه ای از ستونها داشته باشید. برای اینکار، مجبورید DataTable جدیدی ایجاد کنید و ستونهای مزبور رو اونجا حذف کنید. درسته که مخفی کردن داده ها در GridView هم انتخاب چندان جالبی نیست، اما درست کردن یک DataTable جدید و Synchronize کردن دو DataTable هم یک کابوس محسوب میشه...

موفق باشید.

پاورقی: هرگز از عبارت به حرف هیچکس دیگه هم گوش نکن، استفاده نکنید. همیشه باید به حرف دیگران گوش کرد و بهترین روش رو انتخاب کرد.

Muhammad-Ali
سه شنبه 22 تیر 1389, 19:45 عصر
منم همین مشکل رو دارم!
در یک Gridview از دوتا HiddenField استفاده کردم. توی CodeBehind هم از کدهای زیر استفاده کردم: (HiddenField ها در TemplateField قرار داره)


e.Row.Cells(7).Visible = False
e.Row.Cells(8).Visible = False
انواع visible کردن ها رو هم امتحان کردم، ولی ستون های مورد نظر در Gridview اثر کوچیکی رو از خودشون به جا گذاشتن. عکس ضمیمه کاملا گویاست(دو ستون آخری).
راهی نیست که این اثر هم از بین بره؟ در کل چه راهی برای مخفی کردن ستون صحیح است؟

mehdi.mousavi
سه شنبه 22 تیر 1389, 20:31 عصر
منم همین مشکل رو دارم!
در یک Gridview از دوتا HiddenField استفاده کردم. توی CodeBehind هم از کدهای زیر استفاده کردم: (HiddenField ها در TemplateField قرار داره)


e.Row.Cells(7).Visible = False
e.Row.Cells(8).Visible = False
انواع visible کردن ها رو هم امتحان کردم، ولی ستون های مورد نظر در Gridview اثر کوچیکی رو از خودشون به جا گذاشتن. عکس ضمیمه کاملا گویاست(دو ستون آخری).
راهی نیست که این اثر هم از بین بره؟ در کل چه راهی برای مخفی کردن ستون صحیح است؟





سلام.
خوب چرا ستون مورد نظر رو Hide نمی کنید؟

منظورم چنین چیزیه:

this.gridView.Columns[3].Visible = false;

موفق باشید.

hamid67fathi
چهارشنبه 23 تیر 1389, 11:13 صبح
سلام
جواب سؤال اين بود :
2 حالات پيش مياد :
1. ميخواييم فقط ستون هايی که خودمون به صورت به گريد اضافه کرديم نمايش داده بشه که بايد از کد زير استفاده کنيم :
dataGridView1.AutoGenerateColumns = false;
2.ميخواييم فقط بعضی از ستون های خاصی نمايش داده نشن که همون طور که دوستمون گفت از کده زير استفاده ميکنيم :
dataGridView1.Columns[1].Visible = false;
-----------
جالب هست اين مورد رو هم بدونيد که ويژگی AutoGenerateColumns قابليت نمايش در پنل ويژگی های گريد رو نداره !! احتمالاً ميکروسافت يادش رفته Attribute Browsable رو به [Browsable("True")] تغيير بده