PDA

View Full Version : جستجو در combobox



sevda_niki
پنج شنبه 16 اردیبهشت 1389, 23:14 عصر
سلام . من فرمی دارم که روزانه بیش از 80 تا ورود اطلاعات داره . حالا برای هر یک از این اطلاعات که برای یک قطعه است یکی از گزینه ها بیش 1000 نوع مختلف دارد که برای هر قطعه متفاوت می باشد که من یک combo در نظر گرفتم .که می خواهم با تایپ حرف اول آن لیست گزینه هایی که با آن نام شروع می شوند را در کمبو نمایش دهد و برای حروف بعدی به ترتیب همین طور .

Netsky
جمعه 17 اردیبهشت 1389, 00:20 صبح
سلام دوست عزيز .
ببين شما واسه اينكه بتونيد اينكار رو انجام بديد بايد خاصيت AutoCompleteCustomeSource كمبوباكست رو برابر با مقادير ورودي قرار بديد . بعد خاصيت AutoCompleteSource رو هم برابر با CustomeSource قرار بده . در مرحله آخر هم خاصيت AutoCompleteMode رو برابر با Suggest قرار بده و خلاص .

http://barnamenevis.org/forum/attachment.php?attachmentid=48552&stc=1&d=1118043869
موفق باشي .........

sevda_niki
جمعه 17 اردیبهشت 1389, 10:42 صبح
سلام.
دوست عزیز ممنون از جوابتون .ولی این ورود اطلاعات از طریق گرید انجام می شه .
و من تو propertis این سل اون گزینه ها رو که شما راهنمایی کردید پیدا نمی کنم .

Shahram_Shobeiri
جمعه 17 اردیبهشت 1389, 10:46 صبح
اگه فقط حرف اول مد نظرته خاصیت dropdownstyle رو با مقدار dropdownlist ست کن

rezayeman
سه شنبه 29 فروردین 1391, 13:15 عصر
سلام دوست عزيز .
ببين شما واسه اينكه بتونيد اينكار رو انجام بديد بايد خاصيت AutoCompleteCustomeSource كمبوباكست رو برابر با مقادير ورودي قرار بديد . بعد خاصيت AutoCompleteSource رو هم برابر با CustomeSource قرار بده . در مرحله آخر هم خاصيت AutoCompleteMode رو برابر با Suggest قرار بده و خلاص .

http://barnamenevis.org/attachment.php?attachmentid=48552&stc=1&d=1118043869
موفق باشي .........

میشه 1 مثال در این مورد بزنید؟:متفکر:

rezayeman
سه شنبه 29 فروردین 1391, 13:42 عصر
public partial class Autocomplete : Form
{
SqlConnection connection;
SqlConnectionStringBuilder builder;
SqlCommand command;
SqlParameter param;
SqlDataReader reader;

string[] suggestionsList;
int dbRecords;

public Autocomplete()
{
InitializeComponent();

string keyword = comboBox1.text;
connection = new SqlConnection();

try
{
builder = new SqlConnectionStringBuilder();
builder.DataSource = @".SQLEXPRESS";
builder.AttachDBFilename = @"Your path goes here ...";
builder.IntegratedSecurity = true;
builder.UserInstance = true;

connection.ConnectionString = builder.ConnectionString;

connection.Open();

SqlCommand command = new SqlCommand();
command.CommandText =
"SELECT *
FROM keywordsList
WHERE item LIKE '%' + @keywordParam + '%'";
command.Connection = connection;

param = new SqlParameter("@keywordParam", keyword);
command.Parameters.Add(param);

reader = command.ExecuteReader();

while (reader.Read()) dbRecords++;
suggestionsList = new string[dbRecords];
reader.Close();

reader = command.ExecuteReader();

int index = 0;

while (reader.Read())
{
string result = reader.GetString(0);
suggestionsList[index] = result;
index++;
}

reader.Close();
}
catch (SqlException e)
{
errorLabel.Text = e.Message;
}
finally
{
connection.Close();
}

comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.CustomSource;
comboBox1.AutoCompleteCustomSource.AddRange(sugges tionsList);
}
}

از این راه هم میشه

Mertez
شنبه 22 مهر 1391, 02:21 صبح
این دو تا کار رو نه بصورت کد نویسی بلکه بصورت دستی انجام بدین بعد اینکه فرم لود شد و اطلاعات داخل combo قرار گرفت کاری که خواستی رو به را شده :)
comboBox1.AutoCompleteMode = AutoCompleteMode.SuggestAppend;
comboBox1.AutoCompleteSource = AutoCompleteSource.ListItem;

مبین
دوشنبه 23 بهمن 1391, 23:21 عصر
دست شما درد نکنه. نزدیک 3 ساعت وقتمو گرفت اما نتونستم درستش کنم. تا اینکه مطلب شما رو دیدم. ممنون.

jmfnima
چهارشنبه 25 بهمن 1391, 21:17 عصر
سلام دوست من
ببین این به کارت میاد