PDA

View Full Version : چند مشکل در جستجو کلمات به صورت کارکتر به کارکتر



near_86
سه شنبه 20 فروردین 1387, 15:22 عصر
سلام به همه دوستان
در برنامه ام می خوام زمانی که کاربر یک کارکتر رو وارد میکنه برنامه تمام کلماتی که با این حرف آغاز میشن رو نمایش بده
توی سایت جستجو کردم و ی جواب پیدا کردم
اما مشکلاتم
1- من از یک text box استفاده کردم اما میخوام زمانی که کاربر حرف س رو وارد میکنه در زیر text box یک لیست کشویی باز شه و کاربر کلمه مورد نظرشو انتخاب کنه.
نمیدونم کدوم یکی از ابزارای vb.net 2005 اینکارو انجام میده و اگه چنین چیزی نیست از چه ابزاری باید استفاده کنم؟

2- من از کد زیر استفاده میکنم
اما مشکل داره



PubSqlCom.CommandText = " select Count(*) from book where bname like N'%" & txt_nbook.Text & "%'"
...maxcode = PubSqlCom.ExecuteScalar
If maxcode <> 0 Then

PubSqlCom.CommandText = "SELECT bname from book where bname like N'%" & txt_nbook.Text & "%'"
PubSqlDR = PubSqlCom.ExecuteReader()
I = 0
While PubSqlDR.Read()
codelist(I) = Trim(PubSqlDR.Item("bname").ToString)
I += 1
EndWhile

ezamnejad
سه شنبه 20 فروردین 1387, 15:29 عصر
از خاصیتهای AutoCompleteCustomSource کنترل textBox استفاده کنید . قبلش خاصیت AutoCompleteSource را به CustomSource تغییر بدهید . AutoCompleteMode را هم تنظیم کنید .

near_86
چهارشنبه 21 فروردین 1387, 19:15 عصر
میشه بگین چطور از این خاصیتا باید استفاده کنم؟

من کد زیرو نوشتم اما خطا میده !!!



While PubSqlDR.Read()
txt_nbook.AutoCompleteCustomSource = Trim(PubSqlDR.Item("bname").ToString)
I += 1

near_86
چهارشنبه 21 فروردین 1387, 20:38 عصر
از دوستان کسی نیست کمکم کنه
واقعا نمیدونم چطور باید از این خاصیتا استفاده کنم

niksoft
چهارشنبه 21 فروردین 1387, 23:48 عصر
Me.cmbOragh.AutoCompleteMode = System.Windows.Forms.AutoCompleteMode.SuggestAppen d
Me.cmbOragh.AutoCompleteSource = System.Windows.Forms.AutoCompleteSource.CustomSour ce


Dim adapter As New SqlDataAdapter
Dim command As New SqlCommand("SELECT Id, Title FROM dbo.Oragh", data.Connect)
adapter.SelectCommand = command
Dim dataset As New PostSet
adapter.Fill(dataset.Oragh)

For Each row As PostSet.OraghRow In dataset.Oragh.Rows
cmbOragh.Items.Add(row.Title)
cmbOragh.AutoCompleteCustomSource.Add(row.Title)
Next

near_86
پنج شنبه 22 فروردین 1387, 09:04 صبح
ممنونم از راهنماییتون

فقط ی مشکل وجود داره

زمانی که لیست کشویی باز میشه انقدر سریع بسته میشه که نمیشه گزینه ای رو انتخاب کنم؟؟؟؟

Sub Zero
پنج شنبه 22 فروردین 1387, 09:53 صبح
با توجه به توضیحات داده شده ، چرا از کنترل ComboBox استفاده نمی کنید. اگه اصرارتون بر استفاده از TextBox هست
بهترین روش استفاده از رویداد TextChanged کنترل TextBox هست دستوراتتون را توی این رویداد بنویسید .

near_86
پنج شنبه 22 فروردین 1387, 11:39 صبح
همونطور که گفتید از combo box استفاده کردم و مشکلم حل شد

اما زمانی که style این کنترلو به صورت simple در میارم ،دیگه نمیشه از لیست کشویی اون چیزیو select کنم

لازم من کاری انجام بدم تا این کنترل درست عمل کنه؟؟

near_86
شنبه 24 فروردین 1387, 16:51 عصر
من تقریبا مشکلم حل شده

اما ی سوال دارم

چطور میشه بعد از وارد کردن حرف اول و دوم و پیدا کردن کلمه مورد نظر کاربر از combo
زمانی که کاربر یک کلمه رو از اون انتخاب کرد
متن combo رو در ی متغیر بریزیم
در واقع میخوام بدونم چطور میشه تا کاربر یکی از آیتمهای کامبو رو انتخاب کرد ون آیتمو در متغیری قرار داد

davood-ahmadi
شنبه 24 فروردین 1387, 16:56 عصر
Dim Str As String = Me.ComboBox1.SelectedText.ToString

Sub Zero
یک شنبه 25 فروردین 1387, 11:35 صبح
در واقع میخوام بدونم چطور میشه تا کاربر یکی از آیتمهای کامبو رو انتخاب کرد واون آیتمو در متغیری قرار داد
اگه میخواید از متغیر استفاده کنید ، از کد davood-ahmadi
استفاده کنید اما من ترجیح میدم بدون استفاده از متغیر و به شکل زیر استفاده کنم .

Select Case Cmb.Text
...
End Select