PDA

View Full Version : تغییر نوع Column در DataGridView در زمان بارگذاری داده ها



mmbguide
دوشنبه 06 دی 1395, 18:47 عصر
سلام

یه برنامه سه لایه نوشتم که داده های یک جدول بصورت DataTable به لایه BAL و در انتها به برنامه ارسال میشه. قبل از بارگذاری DataTable ابتدا اون رو در یک BindingSource قرار میدم و بعد اون رو در DataGrid View بارگذاری میکنم. چند تا از ستون های DataTable کلیدهای اصلی از سایر جداول هستند. چطور میتونم از طریق کد نویسی نوع ستون رو تغییر بدم و از نوه ComboBox بشه تا کاربر بجای عدد عنوان رو ببینه.

در اکثر منابع چگونگی اضافه کردن ستون رو عنوان کرده. آیا باید همین کار رو انجام بدم و بعد ستون کلید اصلی در DGV رو مخفی کنم؟ تشکر


Dim M As New DataGridViewComboBoxColumn

M.HeaderText = "ماه"
M.DataSource = BSM
M.DataPropertyName = "ماه"
M.DisplayMember = "tblMonthName"
M.ValueMember = "tblMonthID"
M.DisplayIndex = 3
M.DisplayStyle = DataGridViewComboBoxDisplayStyle.DropDownButton
M.FlatStyle = FlatStyle.Flat
Me.DataGridViewX1.Columns.Add(M)

Me.DataGridViewX1.Columns.Item(4).Visible = False

Mahmoud.Afrad
دوشنبه 06 دی 1395, 20:57 عصر
توصیه اکید می کنم در بخش مناسب سوال بپرسید. این سوال شما مربوط به سی شارپ نیست.


در مورد سوالتون، ستونهایی که کلید خارجی هستند رو مخفی کنید و کمبوباکس های مورد نیاز رو به همین ترتیب اضافه کنید. البته برای اینکه کمبوباکس ها به آیتم ذخیره شده در دیتابیس set بشوند بایست پراپرتی DataPropertyName مربوط به هر کمبوباکس رو برابر ستون کلیدخارجی متناظرش قرار بدید.

mmbguide
دوشنبه 06 دی 1395, 23:28 عصر
باتشکر از مدیر بخش و عذرخواهی بابت عدم اصلاح کدها به زبان C#.