+2 امتیاز
سلام

من برای جلوگیری از افزونگی در sql، داخل فرم برنامم از کمبوباکس استفاده کردم اما وقتی ایتم موردنظر کمبوباکس رو انتخاب میکنم خود ایتم انتخابی داخل پایگاه داده ذخیره میشه اما من میخوام بجای اسم ایتم کد ایتم مثلا (0و1و2و....) داخل پایگاه ذخیره بشه

اگر سوالم مفهومه میشه لطفا منو راهنمایی کنید...؟
سلام. از خاصیت DisplayMember و ValueMember کمبو باکس استفاده کنید.
توسط (2,595 امتیاز) 5 15 90

4 پاسخ

+2 امتیاز
سلام

اینجور که من فهمیدم شما میخواین با انخاب نام کد اون توی پایگاه داده ذخیره بشه

میتونید برای این یک لیبل تعریف کنید و یک دستور سلکت برای کمبو باکس که اگه کمبوباکس چیزی رو نشون داد کدش رو روی لیبل نشون بده و بعد وقتی میخواین توی بانکتون ذخیرش کنید لیبل رو ذخیره کنید

بازم اساتید شاید نظرات بهتری داشته باشن

اگه سوالی داشتی بگو
خب اگه قشنگ نیست خاصیت ویزیبلش رو غیر فعال کن نمایش نده به همین راحتی

راحت ترین راه به نظر من همینه

البته بازم اساتید محترم شاید نظرات بهتری داشته باشن
توسط (2,130 امتیاز) 7 26 143
میشه لطفا کدش رو قرار بدین..؟
توسط (195 امتیاز) 1 11 40
+2 امتیاز
سلام ، شما چرا ایندکس آیتم رو اضافه نمیکنی بجای خود کلمه رو ؟
یعنی چی... من متوجه نشدم

میشه کامل تر توضیح بدین

اخه من تاحالا از کمبوباکس استفاده نکرده بودم، فقط تکست باکس داخل فرم قرار میدادم
توسط (195 امتیاز) 1 11 40

شما کد اینسرت رو که داری خب

حالا شما به جای متن آیتم انتخابی این کد رو بزن

comboBox1.SelectedIndex.ToString()

حالا اگه متنی انتخاب شده بود از 0 به بالا میشه ولی اگه متنی انتخاب نشده باشه -1 میشه

توسط (1,087 امتیاز) 8 52
این کارو کردم اما وقتی selectedIndex رو بجای selectedItem قرار میدم خود کد (0و1و...) داخل فرم در دیتاگریدویو نشون داده میشه

من چکار کنم که داخل گریدویو خود آیتم انتخابی نشون داده بشه اما داخل پایگاه داده کد آیتم ذخیره بشه؟
توسط (195 امتیاز) 1 11 40
for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                switch (dataGridView1.Rows[i].Cells["Code"].Value.ToString())
                {
                    case"1":
                        dataGridView1.Rows[i].Cells["Code"].Value = "Salam";
                        break;
                    case"2":
                        dataGridView1.Rows[i].Cells["Code"].Value = "Khobi";
                        break;
                }
            }

 

توسط (1,087 امتیاز) 8 52
من متوجه نشدم بجای "1"case و "2"case و "salam " و "khobi" باید چی قرار بدم؟
توسط (195 امتیاز) 1 11 40
من بخاطر حرفی که میزنم معذرت میخوام ولی مطمئن هستید که برنامه نویسی میکنید؟

این چیزا که الفبای این زبان هست!!!

بهرحال 1 میشه ایندکس اول متن انتخابی در کمبو باکس و ...

و برای برگرداندن عدد به متن از نظیرش استفاده میکنیم

مثلا اگر در کمبو باکس داشته باشیم

سلام

خوبی

ممنون

چه خبر

اندیس 1 میشه === خوبی (این مثال ربطی به کدی که گذاشتم نداره)

حالا چرا 1 ؟ چون اندیس از 0 شروع میشه!

حالا برای تبدیل عدد به متن اندیس رو میگیریم و متن مرتبطش رو جایگزین میکنیم!!!

مثلا همین مثال بالا

1 === خوبی

خوبی === 1

امیدوارم مشکل شما حل شده باشه
توسط (1,087 امتیاز) 8 52

من کدهایی که قرار دادین رو نوشتم اما با ارور زیر مواجه شدم....

تصویر ارور:

 

تصویر کدها:

توسط (195 امتیاز) 1 11 40
سلام مجدد ، احتمالا شما از سیستم 64 بیتی استفاده میکنید ، برای رفع این جور ارورها که معمولا روی دیتاگرید ویو هستش باید کامپایلر رو روی 86x ست کنید ( معمولا روی any cpu هست یا 64x ولی شما باید روی 86x ست کنید )

مسیر :   solution explorer (Project Name) => (click right) Propertis => Build => Platform Target => 86x
توسط (1,087 امتیاز) 8 52
این کارم انجام دادم اما مشکل حل نشد....
توسط (195 امتیاز) 1 11 40
به کدوم خط گیر میده؟
توسط (1,087 امتیاز) 8 52

تصویر خطارو قرار دادم

توسط (195 امتیاز) 1 11 40

شما به احتمال 90% اسم کلوم رو اشتباه می نویسید وگرنه نباید ارور بده

اینم عکس

توسط (1,087 امتیاز) 8 52
+1 امتیاز
            SqlConnection.ClearAllPools();
            string AdapterText = "select * from Asli where NameAsli='"+cmboxAsli.Text+"'";
            SqlDataAdapter Adapter = new SqlDataAdapter(AdapterText, Connectionstring);
            DataTable dt = new DataTable();
            try
            {
                Adapter.Fill(dt);
                lblIdAsli.Text = dt.Rows[0].Field<Int64>("IdAsli").ToString();
            }
            catch
            {
            }

 

اینم از کد اگر متوجه نشدی بگو توضیح بدم

الان یه مساله ای هست....

اونم اینه که شما کدارو با ADO.net نوشتین اما من پروژم رو با LINQ نوشتم یعنی اصلا connectionstring و dataadapter و ..... توش نمیتونم تعریف کنم مگر اینکه این یه قسمت رو با ADO بنویسم

میشه شما یه توضیحی راجع به کدها بدین که اگر نتونستم با linq کد رو بنویسم از کدهای پیشنهادی شما استفاده کنم...؟
توسط (195 امتیاز) 1 11 40
سوال جدید

2,337 سوال

2,871 پاسخ

3,725 دیدگاه

3,926 کاربر

دسته بندی ها

...