PDA

View Full Version : حرفه ای: ارتباط کامبو باکس با پایگاه داده



hahaie
شنبه 02 اردیبهشت 1391, 21:06 عصر
سلام. دوستان میتونند در مورد زیر کمک کنند؟
یه کامبو باکس دارم که میتوان در اون متنی رو نوشت.این متن نام مشتریان است.میخوام چند حروف از اسامی مشتریان رو که درونش مینویسی تموم اسامی ای که حاوی این کلمه است رو از یه بانک نشون بده.کد زیر رو نوشتم اما ایراداتی داره(مثلا وقتی میخوای بنویسی "حی" اون رو به صورت برعکس "یح" مینویسه!!!!).
کدی که میخوام باید لینکیو باشه.ضمنا در کد زیر از یه گرید ویوی کمکی استفاده شده.
همچنین اگه میدونید چطوری میشه حین تایپ در کامبو باکس به صورت لیست باز بشه بگید چطوری.
ممنون.



var g = from y in da.tbl_moshtaris where y.name.Contains(cmbmoshtari.Text) selectnew { y.name };
dataGridView2.DataSource = g;
for (i = 0; i < dataGridView2.Rows.Count; i++)
cmbmoshtari.Items.Add(dataGridView2.Rows[i].Cells[0].Value);

var g = from y in da.tbl_moshtaris where y.name.Contains(cmbmoshtari.Text) select new { y.name };
dataGridView2.DataSource = g;
for (i = 0; i < dataGridView2.Rows.Count; i++)
cmbmoshtari.Items.Add(dataGridView2.Rows[i].Cells[0].Value);

esiprogrammer
شنبه 02 اردیبهشت 1391, 22:16 عصر
دوست من برای انجام همچنین سرچی نیازی به کد نویسی نیست
خود دات نت این امکان رو بهت میده
کافیه اول کل آیتم ها رو به Combo بایند کنی بعد اینطوری بنویسی




Combo.AutoCompleteMode= AutoCompleteMode.Suggestappend;
Combo.AutoCompleteSource= AutoCompleteSource.Listitems;





با اضافه کردن این دو خط وقتی که تایپ بکنی خود بخود سرچ رو انجام میده.
کامبو هم هنگام تایپ بصورت لیست باز میکنه.

موفق باشید.

hahaie
یک شنبه 03 اردیبهشت 1391, 19:30 عصر
ممنون از جوابتون.اما چطوری عمل بایند رو انجام بدم؟ضمن اینکه کد فوق کجا باید نوشته بشه؟

esiprogrammer
یک شنبه 03 اردیبهشت 1391, 23:46 عصر
در مورد سوا اولتون

برای بایند کردن combo1.DataSource=source
source میتونه یک DataTable یا یک quer دستورات linq یا هر ابجکت دیگه باشه.

این دستورات رو هم میتونید توی پنجره پراپرتیس و هم توی فرم لود یا یک متد دیگه بنویسید

hahaie
دوشنبه 04 اردیبهشت 1391, 17:17 عصر
ممنون از جوابتون اما درست نیست.این رو من قبلا خودم انجام داده بودم.دستور زیر رو من نوشتم و دو کدی که گفتید از پروپرتیز انجام دادم اما حین این کار مثلا اگه اگه بنویسی ع برات علی حیدری رو به صورت { علی حیدری=name}میاره یا اگه بخوای بنویسی علی مینویسه یله(برعکس)!
var a=from b in da.tbl_moshtaris where b.name.Contains(cmbmoshtari.Text) select new{b.name};
cmbmoshtari.DataSource = a;

دوستان کس دیگه پیشنهادی راهی ندارند

hahaie
چهارشنبه 06 اردیبهشت 1391, 11:58 صبح
کسی راه حلی نداره؟