PDA

View Full Version : سوال: لیست کشویی



az.heidarzadeh
شنبه 18 دی 1389, 18:05 عصر
سلام
توی برنامه ای که با #C تحت ویندوز نوشتم یکی از فرمام سریال کالا رو دریافت میکنه ، من میخوام وقتی کاربر در حال تایپ سریال کالا در textbox است مثل مرورگر گوگل یک لیست کشویی باز شود و سریال هایی که با چیزی که کاربر تایپ کرده شروع شود را نمایش دهد. آیا امکان پذیر هست و اگر نه مشابه آن چیست؟ من از منوی کشویی استفاده کردم جالب نبود اما بهرحال کدی هست که منوی کشویی را باز کند؟

ali.rezaei7
شنبه 18 دی 1389, 18:32 عصر
درود. این بستگی داره به اینکه اطلاعات کجا قرار دارن.
اگه داخل DataTable است. از این کد استفاده کن:


DataTable t = new DataTable();
t.Columns.Add("aa");
for (int i = 0; i < 100; i++)
t.Rows.Add(i.ToString());

DataRow[] dr = t.Select("aa LIKE '9*'");
listbox1.Items.Clear;
foreach (DataRow d in dr)
listbox1.items.add(d[ColumnIndex]);

در کد بالا تمامی سطرهایی که فیلد aa اونها با کلمه 9 شروع می شه، انتخاب می شه و داخل لیست اضافه می کنه.

اگه می خوای اطلاعاتو مستقیم از DB بگری از SQL زیر استقاده کن.

SELECT * FROM tablename WHERE filedname LIKE word
بجای word این رو تو کوتیشن بزار: اول مقدار شروع رو بزار بعد از اون علامت ستاره.بقیه ماجرا رو هم می دونی دیگه.

meysamrt
شنبه 18 دی 1389, 19:15 عصر
ویژگی های زیر رو برای TextBox تنظیم کن:

AutoCompleteMode = Suggest
AutoCompleteSource = CustomSource


بعد توسط کد زیر کدهای کالا رو به ویژگی AutoCompleteCustomSource کنترل TextBox اضافه کن

string[] items = { "a", "b", "c", "d" };
foreach (string item in items)
{
textBox1.AutoCompleteCustomSource.Add(item);
}


به جای آرایه میتونی هر منبع داده ای رو قرار بدی. بعد از اینکار زمان نوشتن یک کد، کدهای مشابه را در یک لیست پیشنهاد می دهد

az.heidarzadeh
چهارشنبه 22 دی 1389, 12:04 عصر
بابت جواب کاملی که دادید خیلی ممنون؛ عالی بود ... حالا اگه بخوام موقع انتخاب کردن یه عملیاتی انجام بشه چه رویدادی داره؟ مثل رویداد SelectedIndexChanged برای منوهای کشویی این AutoCompleteCustomSource رویدادی داره من که پیدا نکردم ...

az.heidarzadeh
شنبه 25 دی 1389, 10:06 صبح
اگه بخوام موقع انتخاب کردن یه عملیاتی انجام بشه چه رویدادی داره؟
لطفا ... کسی نمیدونه؟ بهم جواب بدید خواهش میکنم ، من خیلی لازمش دارم ...

میلاد رئیسی
جمعه 21 بهمن 1390, 14:30 عصر
با سلام .
به این تاپیک (http://barnamenevis.org/showthread.php?327225-%D9%84%DB%8C%D8%B3%D8%AA-%D8%B0%D8%B1-Text-box) مراجعه کنید ...