PDA

View Full Version : تغییر طول عرض و عنوان ستونهای DataGrid با کد



ord1383
دوشنبه 12 تیر 1385, 14:35 عصر
با سلام خدمت دوستان
مدتی بود دنبال مخفی کردن ستونها و تغییر عرض و عنوان ستونهای DataGrid در زمان اجرا بودم که را حل آن را پیدا کردم . امیدوارم برای دوستان مفید باشد :
در این مثال DataSource ما یک DataSet بدون ساختار است لذا امکان اعمال تغییرات فوق در پنجره property وجود ندارد و باید به صورت RunTime این کارها صورت گیرد :
(نام datagrid ما dg است ونام جدول ما student با فیلدهای s-code و s-name و ... است)

;()Dataset1 ds=new Dataset1
;("SqlDataAdapter1.Fill(ds,"student
;("dg.SetDataBinding(ds,"student

حال از کلاس DataGridTableStyle یک نمونه به نام ts ساخته و خاصیت MappingName آن را برابر نام جدولمان قرار می دهیم .
و سپس ts را به عنوان خاصیت tablestyles دیتا گرید تعریف می کنیم :

;( )DataGridTableStyle ts=new DataGridTableStyle
;"ts.MappingName="student
;(dg.TableStyles.Add(ts

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

;dg.TableStyles["student"].GridColumnStyles["s-code"].Width=80

برای تغییر عنوان ستونها هم به صورت زیر عمل می کنیم :

;"کد دانشجو"=dg.TableStyles["student"].GridColumnStyles["s-code"].HeaderText

tohidshamspour
دوشنبه 12 تیر 1385, 15:19 عصر
خسته نباشی باهوش

ord1383
سه شنبه 13 تیر 1385, 06:13 صبح
حالا شما خودتو ناراحت نکن !
همه که مثل تو حرفه ای نیستند . اینو برای مبتدی هایی مثل خودم نوشتم .

tohidshamspour
یک شنبه 18 تیر 1385, 18:14 عصر
اگه ناراحت شدی ببخش

alimooghashang
شنبه 22 مرداد 1390, 12:55 عصر
ممنون به دردم خورد

alimooghashang
شنبه 22 مرداد 1390, 13:03 عصر
فقط یه مشکلی
وقتی که این رو در زمان اجرا ست میکنم
سطر ها به دوباره header پیدا میکنه که من نمیخوام header داشته باشه