PDA

View Full Version : مشکل در استفاده از Comboobx در Datagridview



scream666_ss
سه شنبه 03 شهریور 1388, 11:05 صبح
سلام دوستان

من در یک datagridview یه column به صورت combobox دارم که معادله آن‌ در database یک فیلد که حالت binary دارد است. اما می‌خواهم در جدول بجای true و false از دو مقدار دیگر مثل Inventory و Non-Inventory استفاده کنم. چگونه می‌تونم مقدار True را معادله یکی‌ و مقدار False را معادله دیگری کنم؟
در واقعی اگر مقدار true بود گزینه Inventory در combobox انتخاب شود و اگر مقدار False بود گزینه Non-Inventory انتخاب شود
انجام اینکار با SP ممکن و می‌دونم چگونه میشود اما می‌خواهم در کد نویسی VB انجام بدهم

با تشکر فراوان از همهٔ دوستان

anooshiran
سه شنبه 03 شهریور 1388, 11:57 صبح
سلام دوست عزيز

اين مثال رو برات نوشتم كه مربوط به كمبو باكس است. كمبو گريد هم همين منوال و رويه دارد.




Dim dt As New DataTable
dt.Namespace = "Dt"
dt.Columns.Add("Col")
dt.Rows.Add(True)
dt.Rows.Add(False)
dt.Rows.Add(False)
dt.Rows.Add(True)
dt.Rows.Add(False)
dt.Rows.Add(True)
Dim dt1 As New DataTable
dt1 = dt.Copy
dt1.Columns.Add("Substitue")
For Each row As DataRow In dt1.Rows
If row.Item("Col") Then
row.Item("Substitue") = "Inventory"
Else
row.Item("Substitue") = "Non-Inventory "

End If
Next
ComboBox1.DataSource = dt1.Copy
ComboBox1.DisplayMember = "Substitue"
ComboBox1.ValueMember = "COl"

scream666_ss
سه شنبه 03 شهریور 1388, 12:39 عصر
سلام دوست عزيز

اين مثال رو برات نوشتم كه مربوط به كمبو باكس است. كمبو گريد هم همين منوال و رويه دارد.


[/CODE]

با سلام و تشکر

این کدی که شما لطف کردید نوشتید درسته اما من دارم دیتا‌ها را از data base میخوانم که اگه بخواهم همه دادها را در یه جای دیگه کپی‌ کنم و بد تغییر بدم و بد بریزم در datagridview که هزینه کار خیلی‌ زیاد می‌شه چون حجم داده‌ها خیلی‌ بالاست. و بهتره که از همان SP استفاده بشه. یعنی‌ هیچ راهی‌ برای چک کردن داده‌های یک datagridview وجود نداره؟ یا تغییر مقادیرش؟

anooshiran
سه شنبه 03 شهریور 1388, 13:19 عصر
سلام دوست عزيز

خوب از يشفش ذشسث بخون. من چون data base نداشتم يك ديتابيس دستي به نام dt درست كردم. شما بايد بجاي آن از data base خودت استفاده كني . در ضمن اين يك مثال است فقط براي subtitue كردن.

scream666_ss
سه شنبه 03 شهریور 1388, 13:29 عصر
سلام دوست عزيز

خوب از يشفش ذشسث بخون. من چون data base نداشتم يك ديتابيس دستي به نام dt درست كردم. شما بايد بجاي آن از data base خودت استفاده كني . در ضمن اين يك مثال است فقط براي subtitue كردن.

در این مورد حق با شما است اما شما آمدید از datatable اصلی‌ که من باید با داده‌های database پر کنم یک کپی‌ گرفتید و در آن‌ کپی‌ یک ستون جدید ساختید و با مقادیر مورد نظر معادل سازی و پر کردید کردید بد بجای آن‌ ستون که binary هست ستون معادل را به combobox نسبت دادید درسته؟ مشکله من این است که دادها مقدرشان خیلی‌ زیاد هست و تهیه یه کپی‌ هزینه استفاده از ram کامپیوتر را زیاد می‌کنه

anooshiran
سه شنبه 03 شهریور 1388, 13:51 عصر
سلام دوست عزيز

كار ديگري كه ميتوني بكن موقع select اين جدول يك alias از فيلد دلخواهت بسازي و همانجا شرظ پر شدن فيلد Alias را هم بنويسي تا مقدار بگيره.

اميدوارم در اين حد با sql آشنا باشي

scream666_ss
سه شنبه 03 شهریور 1388, 13:58 عصر
سلام دوست عزيز

كار ديگري كه ميتوني بكن موقع select اين جدول يك alias از فيلد دلخواهت بسازي و همانجا شرظ پر شدن فيلد Alias را هم بنويسي تا مقدار بگيره.

اميدوارم در اين حد با sql آشنا باشي

دست شما درد نکنه ممنون
بله همون اول هم گفتم که می‌دونم با SP یا Select چه جوری حلش کنم اما می‌خواهم اگه بشه یک روش با کد VB پیدا کنم و با دستکاری DataGridView