PDA

View Full Version : سوال: تغییر نکردن Labelها با تغییر گزینه ComboBox



bmvgod
یک شنبه 08 اردیبهشت 1398, 23:31 عصر
باسلام خدمت دوستان و بزرگواران
تو پروژم از1 CombBox ی استفاده شده که به دیتابیس وسله و نام کالا رو نمایش میده و برای پر شدن سایر مشخصات کالا در سایر Label ها و جلو گیری از تگراری نبودن نام کالا در ComboBox1 در فرم لود از کد زیر استفاده کردم:

var list = (from b in db.CommoTables select b.CommodName).Distinct().ToList();
cmbCommodityName.DataSource = list.ToList();
cmbCommodityName.DisplayMember = "CommodName";
var q = from d in db.CommoTables
where d.CommodName == cmbCommodityName.Text && d.CommodSize == cmbSiz.Text
select d;
lblSaleCodCommodity.DataBindings.Add("Text", q, "CommodCod");
lblNameCO.DataBindings.Add("Text", q, "CompanyName");
lblUnitPrice.DataBindings.Add("Text", q, "UnitPrice");
lblTax.DataBindings.Add("Text", q, "Tax");
lblOff.DataBindings.Add("Text", q, "Dicount");


و از کد زیر پشت ComboBox1 استفاده کردم تا در ComboBox2 سایز مربوط به نام کالای انتخابی از CombBox1 نمایش داده بشه:

private void cmbCommodityName_SelectedIndexChanged(object sender, EventArgs e)
{
var q = from s in db.CommoTables
where s.CommodName == cmbCommodityName.Text
select s;
cmbSiz.DataSource = q;
cmbSiz.DisplayMember = "CommodSize";
}


ولی با تغییر ComboBox1 اطلاعات داخل Label ها تغییر نمیکنه.
ممنون میشم راهنماییم بفرمائید که کجای کدم اشتباه هست و از چه کدی باید استفاده کنم.
باتشکر از تمامی دوستان و بزرگواران.

mmbguide
دوشنبه 09 اردیبهشت 1398, 09:27 صبح
الان در کدهای پایینی، در کدام خط شما اقدام به مقداردهی متن Labelها کرده اید؟

bmvgod
دوشنبه 09 اردیبهشت 1398, 23:02 عصر
الان در کدهای پایینی، در کدام خط شما اقدام به مقداردهی متن Labelها کرده اید؟
سری کد اول، خط 7 تا 11، label ها دارن مقدار دهی میشن

Mahmoud.Afrad
سه شنبه 10 اردیبهشت 1398, 00:38 صبح
تغییر مقداری هم نباید اتفاق بیافته. list و q و qپایین سه منبع داده مجزا هستند.

bmvgod
چهارشنبه 11 اردیبهشت 1398, 19:06 عصر
تغییر مقداری هم نباید اتفاق بیافته. list و q و qپایین سه منبع داده مجزا هستند.
وقتی Distinct نیست درست کار میکنه اما وقتی میذارم درست کار نمیکنه، برا این از Distinct در ComboBox1 استفاده کردم که داده های تکراری رو نشون نده،حالا کد چه تغییری باید بکنه تا پروژه درست کار بکنه؟
ممنون میشم راهنماییم کنید

bmvgod
سه شنبه 31 اردیبهشت 1398, 00:40 صبح
تغییر مقداری هم نباید اتفاق بیافته. list و q و qپایین سه منبع داده مجزا هستند.

چه تغییری در کد باید داده بشه که هم cmbCommodityName نام تکراری نمایش نده و هم سایر Label ها بصورت خود کار پر بشن و هم cmbSize با تغییر cmbCommodityName مقدارش تغییر کنه؟
مثلا در cmbCommodityName وقتی مقدار "پیچ" رو انتخاب میکنم در cmbSize اندازه هایی که مربوط به پیچ هست رو برام لیست کنه.
امیدوارم تونسته باشم منظورمو رسونده باشم.
ممنون میشم راهنماییم کنید.
باتشکر از تمامی دوستان و بزرگواران