PDA

View Full Version : سوال: تغییر متن لیبل بر حسب آیتم انتخابی از ComboBox



ji ming u
شنبه 09 آبان 1394, 20:42 عصر
136382
یه جدول دارم دارای سه فیلد id code reshteh

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

sqladap.SelectCommand.CommandText = string.Format("select * from title ");
DataTable date_table = new DataTable();
sqladap.Fill(date_table);
comboBox3.DataSource = date_table;
comboBox3.DisplayMember = date_table.Columns["code"].ToString();
comboBox3.ValueMember = date_table.Columns["id"].ToString();

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

ghasem110deh
شنبه 09 آبان 1394, 21:12 عصر
نمایش آیتم توی کمبوباکس که SelectedItem
و نمایش مقدار selectedValue

systam
شنبه 09 آبان 1394, 21:55 عصر
سلام
امیدوارم منظورتو متوجه شده باشم

موفق باشی یا علی

ji ming u
شنبه 09 آبان 1394, 21:55 عصر
نمایش آیتم توی کمبوباکس که SelectedItem
و نمایش مقدار selectedValue


من توی نوشتن تو کومبوباکس مشکلی ندارم
منظورم اینکه وقتی جدول زیر را در دیتا سورس کومبو قرار میدم بعدش هر کدی را انتخاب کردم نام رشته در لیبل بیفته

ghasem110deh
شنبه 09 آبان 1394, 22:39 عصر
ریختن توی کمبوباکس رو که نوشتین ، اون دو تا کد واسه خوندن از کمبوباکسه !


label.Text = ComboBox1.SelectedValue.ToString();

این کد ValueMember که آیدی هستش رو بر میگردونه (میریزه تو لیبل)

textBox1.Text = ComboBox1.SelectedItem.ToString();

و این DisplayMember یا کد رو میریزه تو تکست باکس
---------------------------------------------------------
رفیق شفیقم systam ...
ببخشید نمونه شما رو ندیدم !

ji ming u
شنبه 09 آبان 1394, 22:45 عصر
ریختن توی کمبوباکس رو که نوشتین ، اون دو تا کد واسه خوندن از کمبوباکسه !


label.Text = ComboBox1.SelectedValue.ToString();

این کد ValueMember که آیدی هستش رو بر میگردونه (میریزه تو لیبل)

textBox1.Text = ComboBox1.SelectedItem.ToString();

و این DisplayMember یا کد رو میریزه تو تکست باکس


بذارید یه سوال دیگه بکنم
یه دیتا تیبل دارم مثلا datatable
اطلاعات یه جدول در دیتابیس را داخل دیتاتیبل ذخیره کردیم جدول شامل سه فیلد id,code,reshteh
حالا من میخام سطری که مثلا id=5 را فیلد reshteh بگیرم و داخل لیبل استفاده کنم

سطی که ایدی ان مساوی پنج هست را میخام نه سطر پنجم

Mahmoud.Afrad
شنبه 09 آبان 1394, 23:10 عصر
چون ستون سوم (رشته) رو هم سلکت کردی میتونی به دو صورت عمل کنی:
1- از طریق بایند کردن پراپرتی کنترلها به دیتاسورس:

sqladap.SelectCommand.CommandText = string.Format("select id, code, reshteh from title ");
DataTable myDataTable = new DataTable();
sqladap.Fill(myDataTable);
BindingSource myBindingSource = new BindingSource
{
DataSource = myDataTable
};

comboBox3.DataSource = myBindingSource;
comboBox3.DisplayMember = "code";
comboBox3.ValueMember = "id";

label1.DataBindings.Clear();
label1.DataBindings.Add("Text", myBindingSource, "Reshteh");


2- (یا کدهای خودت رو بدون تغییر بنویسی) و رویداد مناسب رو هندل کنی:

private void comboBox3_SelectedIndexChanged(object sender, EventArgs e)
{
ComboBox cbo = sender as ComboBox;
if (cbo != null && cbo.SelectedItem != null && cbo.SelectedItem is DataRow)
{
DataRow dtRow = (DataRow) cbo.SelectedItem;
object val = dtRow["reshteh"];
if (val != null) label1.Text = val.ToString();
}
}