PDA

View Full Version : سوال: دستور افزودن آیتم به comboBox



pouya_team
سه شنبه 18 خرداد 1395, 12:15 عصر
سلام خدمت دوستان و اساتید

میخواستم بدونم دستور اضافه کردن آیتم به به کمبو باکس چیه

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

ممنون میشم راهنمایی کنید

با تشکر

pouya_team
سه شنبه 18 خرداد 1395, 13:26 عصر
سلام خدمت دوستان و اساتید

میخواستم بدونم دستور اضافه کردن آیتم به به کمبو باکس چیه

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

ممنون میشم راهنمایی کنید

با تشکر

دلتنگ اسمان
سه شنبه 18 خرداد 1395, 14:43 عصر
سلام
با زدن دکمه insert کدملی موجود در تکست باکس به آیتمهای کمبوباکس(singlecmb) اضافه میشه.



private void inserbtn_Click(object sender, EventArgs e)
{
singlecmb.Items.Add(codemellitxt.Text);

pouya_team
سه شنبه 18 خرداد 1395, 14:54 عصر
ممنون ار پاسختون

و اگه بخوام در آیتم های کمبو باکسم سرچ کنم چیکار کنم

مثلا آیتم های کمبو باکس من عدد های 1 تا 100 هستند

من میخوام وقتی توی کمبو باکس عدد 1 رو تایپ میکنم هرچی آیتم که با عدد 1 شروع میشن رو نشنون بده

ممنون میشم کمک کنید

mrprestige
سه شنبه 18 خرداد 1395, 18:18 عصر
سلام خدمت دوستان و اساتید

میخواستم بدونم دستور اضافه کردن آیتم به به کمبو باکس چیه

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

ممنون میشم راهنمایی کنید

با تشکر

سلام دوست من ، با این کد میتونی متن داخل تکس باکست رو داخل کمبو باکس بیاری

comboBox1.Items.Add(textBox1.Text);

پیروز و موفق باشی

دلتنگ اسمان
سه شنبه 18 خرداد 1395, 18:23 عصر
ممنون ار پاسختون

و اگه بخوام در آیتم های کمبو باکسم سرچ کنم چیکار کنم

مثلا آیتم های کمبو باکس من عدد های 1 تا 100 هستند

من میخوام وقتی توی کمبو باکس عدد 1 رو تایپ میکنم هرچی آیتم که با عدد 1 شروع میشن رو نشنون بده

ممنون میشم کمک کنید
برای زمانی که آیتمها رو به صورت دستی اضافه کردی . یعنی از دیتابیس نمیخونه.


private void Form1_Load(object sender, EventArgs e)
{
comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;

foreach (string str in comboBox1.Items)
comboBox1.AutoCompleteCustomSource.Add(str.ToStrin g());
}

این هم برای موقعی که اطلاعات کمبوباکس از دیتابیس پر میشه :

private void Form1_Load(object sender, EventArgs e)
{
comboBox1.AutoCompleteMode = AutoCompleteMode.Suggest;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
AutoCompleteStringCollection combData = new AutoCompleteStringCollection();
getData(combData);
comboBox1.AutoCompleteCustomSource = combData;
}





private void getData(AutoCompleteStringCollection dataCollection)
{
string connetionString = null;
OleDbConnection connection;
OleDbCommand command;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dt = new DataTable();
connetionString = string connect = @"provider=microsoft.Ace.oledb.12.0;" + @"data source=" + Application.StartupPath + "\\database.accdb";;
string OleDb = "select * from doctor";
connection = new OleDbConnection(connetionString);
try
{
connection.Open();
command = new OleDbCommand(OleDb, connection);
adapter.SelectCommand = command;
adapter.Fill(dt);
adapter.Dispose();
command.Dispose();
connection.Close();

if (dt.Rows.Count != 0)
{
foreach (DataRow arow in dt.Rows)
{
string numdoctor = arow["numdoctor"].ToString().Trim();
string namedoctor = arow["dname"].ToString().Trim();
string familydoctor = arow["dfamily"].ToString().Trim();
string num_nam_famil = numdoctor + "_" + namedoctor + "_" + familydoctor;
dataCollection.Add(num_nam_famil);
}
}

}
catch (Exception ex)
{
MessageBox.Show("Can not open connection ! ");
}
}

pouya_team
پنج شنبه 20 خرداد 1395, 19:18 عصر
با سلام خدمت دوستان

من یک کمبو باکس و یک دیتابیس اکسس دارم

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

ممنون میشم راهننمایی کیند

دلتنگ اسمان
پنج شنبه 20 خرداد 1395, 19:49 عصر
ببخشید اصلاحش کردم

string connect = @"provider=microsoft.Ace.oledb.12.0;" + @"data source=" + Application.StartupPath + "\\databace.accdb";



OleDbConnection connection;
OleDbCommand command;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dt = new DataTable();
string OleDb = "select * from table";
connection = new OleDbConnection(connect);
try
{
connection.Open();
command = new OleDbCommand(OleDb, connection);
adapter.SelectCommand = command;
adapter.Fill(dt);
adapter.Dispose();
command.Dispose();
connection.Close();

if (dt.Rows.Count != 0)

foreach (DataRow arow in dt.Rows)

ComboBox1.Items.Add(arow["dname"].ToString().Trim());

محمد رضا فاتحی
پنج شنبه 20 خرداد 1395, 20:27 عصر
ببخشید اصلاحش کردم

string connect = @"provider=microsoft.Ace.oledb.12.0;" + @"data source=" + Application.StartupPath + "\\databace.accdb";



OleDbConnection connection;
OleDbCommand command;
OleDbDataAdapter adapter = new OleDbDataAdapter();
DataTable dt = new DataTable();
string OleDb = "select * from table";
connection = new OleDbConnection(connect);
try
{
connection.Open();
command = new OleDbCommand(OleDb, connection);
adapter.SelectCommand = command;
adapter.Fill(dt);
adapter.Dispose();
command.Dispose();
connection.Close();

if (dt.Rows.Count != 0)

foreach (DataRow arow in dt.Rows)

ComboBox1.Items.Add(arow["dname"].ToString().Trim());



با اجازه بهینه تر هم میشه نوشت
بعد از خط 15

comboBox1.DataSource=dt;
comboBox1.DisplayMember="dname";


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

fateme.ami99
چهارشنبه 19 خرداد 1400, 15:49 عصر
سلام خسته نباشین چطور میشود که اطلاعات که در کمبوباکس به صورت دستی وارد شده در دیتابیس منتقل کرد بدون استفاده از دیتا گرید ویو؟؟؟

fateme.ami99
چهارشنبه 19 خرداد 1400, 15:52 عصر
و یک سوال دیگر یک کمبوباکس اطلاعات از دیتابیس گرفته و حالا کلید خارجی اون در جدول اصلی وجود دارد برای اینکه کلید خارجی هم ثبت بشه مقدارش در دیتابیس باید چه کرد ؟؟؟ کلیدد خارجی (identity) هم نیست