PDA

View Full Version : حرفه ای: تغییر نام COLUMN در combobox



cnmeysam
دوشنبه 26 مرداد 1394, 10:59 صبح
سلام یه سوال کوچیک داشتم کسی میتونه راهنماییم کنه؟
من یه دیتا بیس دارم که SQL server 2014 هستش که یک Table داره که 3 تا فیلد ID و Fname و Lname داره تو دیتا گرید میتونم کاری کنم که این آیتم ها رو فارسی نمایش بده با کد زیر:
con.View("SELECT ID[ردیف],FName[نام],LName[نام خانوادگی] FROM TBL_Test ORDER BY ID OFFSET 0 ROWS FETCH FIRST 10 ROWS ONLY", dataGridView);

سوال اینجاست حالا اگه بخوام تو یک ComboBoc هم مثل دیتا گرید این آیتم ها رو فارسی نمایش بده چکار کنم؟
میتونم با کد زیر آیتم ها رو نمایش بدم ولی خیلی ضایع و زشت میشه چون دقیقا عین آیتم مخخفی که تو دیزاین SQl نوشتم رو لود میکنه
con.Load_Combo("Select COLUMN_NAME FROM INFORMATION_SCHEMA.COLUMNS where table_name ='TBL_Test'", comboBoxSearch);
کسی هست بدونه و بتونه کمکم کنه تو ComboBox هم مثل دیتا گرید فارسی کنم این آیتم ها رو؟

zayens
دوشنبه 26 مرداد 1394, 11:17 صبح
اون آیتمهایی که میفرمایید در گرید نام ستونها هستند(ستونهای جدول در دیتابیس)
و در پروژه غالبا ثابت هستند
...
اگر نام ستونها را میخواهید راهش این نیست که به کمبوباکس بایند کنید
باید دستی کمبو را مقدار دهی کنید

محمد آشتیانی
دوشنبه 26 مرداد 1394, 12:32 عصر
سلام
یک راهش اینه که در زمان طراحی دیتابیس ، خصوصیت Description مربوط به فیلدها رو با عنوان فارسیشون مقدار بدی بعد با کوئری زیر اسم فیلد ها و مقادیر فارسی رو بدست بیاری
نهایتا DisplayMember رو با توضیحات فارسی فیلدهات مقدار دهی کنی و ValueMember رو با نام فیلدها

134367

این هم کوئری مربوطه

select
st.name [Table],
sc.name [Column],
sep.value [Description]
from sys.tables st
inner join sys.columns sc on st.object_id = sc.object_id
left join sys.extended_properties sep on st.object_id = sep.major_id
and sc.column_id = sep.minor_id
and sep.name = 'MS_Description'
where st.name = 'YOUR_TABLE'


فقط YOUR_TABLE رو به اسم جدول خودت تغییر بده.



موفق باشید.