PDA

View Full Version : آموزش: ساخت Auto Complete برای TextBox



uniqueboy_ara
جمعه 19 خرداد 1391, 13:19 عصر
چند وقت بود دنبال ایجاد Auto Complete برای Text Box بودم، و تو همین مدت متوجه شدم که خیلیا با این موضوع مشکل دارن
برای همین حالا که به نتیجه رسیدم فایل پروژه رو اینجا هم میزارم تا دوستان استفاده کنن :)
2تا فایل پروژه تو ضمیمه هستش، یکیش با استفاده از EF و اون یکی با روشهای کلاسیکADO.net
88018
88019

mahdad sepah
جمعه 19 خرداد 1391, 13:51 عصر
سلام موقع اجرا این ارورو میده
The underlying provider failed on Open.
مربوط به قسمت foreeache

uniqueboy_ara
جمعه 19 خرداد 1391, 21:43 عصر
من برای بار دوم هم تست کردم مشکلی نداشت :)

hamedjonjon
چهارشنبه 01 شهریور 1391, 13:18 عصر
ببخشید یکی میتونه توضیح بده نحوه اتصال پروژه Autocomplete_Linq به دیتابیس دلخواه چطوره؟

hamedjonjon
چهارشنبه 01 شهریور 1391, 13:36 عصر
لطفا یکی از اساتید با مرام راهنمایی کنه
با تشکر از کمک شما

vahid.v
شنبه 23 آذر 1392, 04:17 صبح
سلام
دقیقا همین پروژه رو اجرا که میکنم با کلمات فارسی مشکل داره یعنی کارنمیکنه ولی با اعداد وکلمات انگلیسی بخوبی کار میکنه!
مشکل از کجاست؟

vahid.v
شنبه 23 آذر 1392, 12:54 عصر
دوستان میشه راهنماییم کنید که چرا با کلمات فارسی کار نمیکنه؟؟؟

mehdiomnia
شنبه 23 آذر 1392, 13:02 عصر
رزرو ........................

davidrobert
شنبه 23 آذر 1392, 13:37 عصر
ساخت Auto Complete برای TextBox

در ADO و EF و Linq

این در Linq و EF هستش که در فرم لود دستور

private void FrmRegistrationFormAndListOfServices_Load(object sender, EventArgs e)
{
AutoCompleteStringCollection autolis=new AutoCompleteStringCollection();
var query = db.Tbl_ListCommodity.Distinct();
foreach (var tblListCommodity in query)
{
autolis.Add(tblListCommodity.L_Commodity_Name).ToS tring();
autolis.Add(tblListCommodity.L_Commodity_Descripti on).ToString();
}
TxtNamekala.AutoCompleteMode = AutoCompleteMode.Suggest;
TxtNamekala.AutoCompleteSource = AutoCompleteSource.CustomSource;
TxtNamekala.AutoCompleteCustomSource = autolis;

TxtDiscrption.AutoCompleteMode = AutoCompleteMode.Suggest;
TxtDiscrption.AutoCompleteSource = AutoCompleteSource.CustomSource;
TxtDiscrption.AutoCompleteCustomSource = autolis;
}

این هم در ADo هستش در فرم لود

private void FrmAddListService_Load(object sender, EventArgs e)
{
AutoCompleteStringCollection autolist=new AutoCompleteStringCollection();
dbm.con.Open();
dbm.Connect();
dbm.cmd =
new SqlCommand(
"SELECT DISTINCT Discrption_Kala, Name_Kala FROM Tbl_AddKala ORDER BY Discrption_Kala, Name_Kala",
dbm.con);
dbm.da=new SqlDataAdapter(dbm.cmd);
DataTable dtlast=new DataTable();
dbm.da.Fill(dtlast);
dbm.Disconnect();
dbm.con.Close();
foreach (DataRow VARIABLE in dtlast.Rows)
{
autolist.Add(VARIABLE["Name_Kala"].ToString());
autolist.Add(VARIABLE["Discrption_Kala"].ToString());
}
TxtNameKala.AutoCompleteMode = AutoCompleteMode.Suggest;
TxtNameKala.AutoCompleteSource = AutoCompleteSource.CustomSource;
TxtNameKala.AutoCompleteCustomSource = autolist;
TxtDiscrption.AutoCompleteMode = AutoCompleteMode.Suggest;
TxtDiscrption.AutoCompleteSource = AutoCompleteSource.CustomSource;
TxtDiscrption.AutoCompleteCustomSource = autolist;
}



جفت کد ها تست شده هستن و اصلا خطای ندارن اطلاعات به صورت اتولیست از دیتابیس ظاهر میشه و اطلاعات تکراری حذف و غیر تکراری نمایش داده میشود برای چند تکس باکس یا یک تکس باکس اگه اشغالی بود در کد های اشکالی نیست بلکه ایراد رو داره برنامه از دیتابیس میگیره وقتی ایراد دیتابیس رفع بیشه یعنی جدول خراب شده باشه دستورات کار نمکنن و این دستور ها رو باید تو فرم لود نوشته بیشه برای اجرا.

vahid.v
شنبه 23 آذر 1392, 14:52 عصر
ممنون از راهنماییاتون
مشکلم حل شد.:لبخندساده:

حالا اگه بخوام گرید ویو رو هم به همین صورت در بیارم باید چکار کنم؟
یعنی زمانیکه روی cellهای یک ستون خاص که تایپ کنم دقیقا مثل textBox اینم Auto Complete داشته باشه، باید چکار کنم؟

vesall
دوشنبه 19 اسفند 1392, 14:12 عصر
یک سوال

حالااگر بخوایم کاربر فقط بتونه از گزینه ای موجود انتخاب کنه و نتونه غیر از موارد پیشهادی، چیز دیگه ای بنویسه باید چکار کنیم ؟:افسرده: