نمایش نتایج 1 تا 10 از 10

نام تاپیک: combobox با قابلیت جستجو

  1. #1

    combobox با قابلیت جستجو

    با عرض سلام:
    من یک combo box می خواهم که searchable باشد یعنی اگر در combobox حرف b را بنویسیم تمام کلماتی را که ابتدای آن حرف b می باشد را نشان دهد واگر حرف e را بعد از b وارد کردیم آنگاه کلماتی را نشان دهد که ابتدای آنها be باشدو قابل select هم باشد. این combobox تقریبا شبیه combobox در help-index می باشد اما با این تفاوت که به پایگاه داده منعقد می شود با تشکر فراوان.


  2. #2
    سلام دوست عزیز
    کامبوباکس موجود در ویژوال استادیو 2005 دارای خاصیتی بنام AutoCompleteMode میباشد که با تنظیم آن بر روی یکی از سه مقدار Suggest ، Append ، SuggestAppend میتوانید اینکار را انجام دهید.
    I've just started tweeting!
    @Alireza_Maddah

  3. #3
    با عرض سلام :
    از راهنمایی شما متشکر هستم ولی من با ویژوال 2003 کار می کنم اگر باز هم من را راهنمایی کنطد بسیار ممنون هستم.

  4. #4

  5. #5

    Thumbs up

    با سلام
    من این برنامه رو برداشتم و در فرم خودم paste کردم اما به قسمت های
    Dim recName As DB.tblNameRow
    lblAccountNum.Text = recName.AccountNum
    lblCompanyName.Text = recName.CompanyName
    error می دهه فکر می کنم این قسمت مربوط به #c باشه اگه ممکنه شکل صحیح این کد رو بنویسین با تشکر از شما عزیز

  6. #6

    Thumbs up

    با سلام
    من این کد رو برداشتم و در فرم خودم اضافه کردم فقط به قسمتهای زیر error میده

    Dim recName As DB.tblNameRow
    lblAccountNum.Text = recName.AccountNum
    lblCompanyName.Text = recName.CompanyName

    اگه میشه در مورد این سه قسمت توضیح بدین و بگین منظور از lblAccountNum,lblCompanyName, DB.tblNameRow چیه
    با تشکر
    آخرین ویرایش به وسیله titbasoft : پنج شنبه 30 آذر 1385 در 12:17 عصر دلیل: استفاده از تگ CODE

  7. #7
    کاربر دائمی آواتار mostafa_leman
    تاریخ عضویت
    اسفند 1383
    محل زندگی
    نیشابور
    پست
    187
    اگه از binding source یا dataview استفاده میکنی در event تغییر تکست combobox بنویس

    me.bindingsource1.rowfilter = "Kala like '" & me.combobox1.text & "%'"

    این خط فیلد کالا را بر اساس محتویات combobox1 فیلتر میکند

  8. #8

    Thumbs up

    با سلام و تشکر از شما
    من مشکلم در اینه که نمی دونم این سه دستور lblAccountNum,lblCompanyName, DB.tblNameRow fvhd واسه چیه و چیکار می کنه در ضمن من اطلاعات را در قسمت item combobox نوشتم.

  9. #9

    Lightbulb

    در ضمن من این کد ها رو از اینترنت برداشتم کمی هم اصلاحش کردم کار می کنه اما یه اشکال داره ببینین میتونین رفعش
     
    PublicSharedSub AutoComplete(ByVal combobox1 As ComboBox, _
    ByVal e As System.Windows.Forms.KeyEventArgs)
    ' Call this from your form passing in the name
    ' of your combobox and the event arg:
    ' AutoComplete(cboState, e)
    Dim iIndex AsInteger = 0
    Dim sActual AsString
    Dim sFound AsString
    Dim bMatchFound AsBoolean
    'check if the text is blank or not, if not then only proceed
    IfNot combobox1.Text = "" Then'if the text is not blank then only proceed
    ' If backspace then remove the last character
    ' that was typed in and try to find
    ' a match. note that the selected text from the
    ' last character typed in to the
    ' end of the combo text field will also be deleted.
    If e.KeyCode = Keys.Back Then
    combobox1.Text = Mid(combobox1.Text, 1, Len(combobox1.Text) - 1)
    EndIf
    ' Do nothing for some keys such as navigation keys...
    If ((e.KeyCode = Keys.Left) Or _
    (e.KeyCode = Keys.Right)
    Or _
    (e.KeyCode = Keys.Up)
    Or _
    (e.KeyCode = Keys.Down)
    Or _
    (e.KeyCode = Keys.PageUp)
    Or _
    (e.KeyCode = Keys.PageDown)
    Or _
    (e.KeyCode = Keys.Home)
    Or _
    (e.KeyCode = Keys.End)
    Or _
    (e.KeyCode = Keys.Enter))
    Then
    Return
    EndIf
    Do
    combobox1.DroppedDown = True
    ' Store the actual text that has been typed.
    sActual = combobox1.Text
    ' Find the first match for the typed value.
    iIndex = combobox1.FindString(sActual)
    ' Get the text of the first match.
    ' if index > -1 then a match was found.
    If (iIndex > -1) Then'** FOUND SECTION **
    'combobox1.Text = ""
    sFound = combobox1.Items(iIndex).ToString()
    ' Select this item from the list.
    combobox1.SelectedIndex = iIndex
    ' Select the portion of the text that was automatically
    ' added so that additional typing will replace it.
    'combobox1.SelectionStart = sActual.Length
    'combobox1.SelectionLength = sFound.Length
    bMatchFound = True
    Else'** NOT FOUND SECTION **
    'if there isn't a match and the text typed in is only 1 character
    'or nothing then just select the first entry in the combo box.
    If sActual.Length = 1 Or sActual.Length = 0 Then
    combobox1.SelectedIndex = 0
    combobox1.SelectionStart = 0
    combobox1.SelectionLength = Len(combobox1.Text)
    bMatchFound =
    True
    Else
    'if there isn't a match for the text typed in then
    'remove the last character of the text typed in
    'and try to find a match.
    '************************** NOTE **************************
    'COMMENT THE FOLLOWING THREE LINES AND UNCOMMENT
    'THE (bMatchFound = True) LINE
    'INCASE YOU WANT TO ALLOW TEXTS TO BE TYPED IN
    ' WHICH ARE NOT IN THE LIST. ELSE IF
    'YOU WANT TO RESTRICT THE USER TO TYPE TEXTS WHICH ARE
    'NOT IN THE LIST THEN LEAVE THE FOLLOWING THREE LINES AS IT IS
    'AND COMMENT THE (bMatchFound = True) LINE.
    '************************************************* **********
    '/////// THREE LINES SECTION STARTS HERE ///////////
    combobox1.SelectionStart = sActual.Length - 1
    combobox1.SelectionLength = sActual.Length - 1
    combobox1.Text = Mid(combobox1.Text, 1, Len(combobox1.Text) - 1)
    '/////// THREE LINES SECTION ENDS HERE /////////////
    'bMatchFound = True
    EndIf
    EndIf
    LoopUntil bMatchFound
    EndIf
    EndSub
    کنین

  10. #10

    Thumbs up

    با سلام
    دوستان عزیز اونقدر گشتم تا پیداش کردم می تونین از این تکه کد استفاده کنین.


    PrivateSub Form1_Load(ByVal sender As System.Object, ByVal e As System.EventArgs) HandlesMyBase.Load
    ' Add some items to the ComboBox list.

    Me.ComboBox1.Text = ""
    Me.ComboBox1.Items.Add("a")
    Me.ComboBox1.Items.Add("aaa")
    Me.ComboBox1.Items.Add("combo")
    Me.ComboBox1.Items.Add("combobox")
    Me.ComboBox1.Items.Add("combobox test")
    Me.ComboBox1.Items.Add("common")
    Me.ComboBox1.Items.Add("common dialog")

    EndSub

    PrivateSub ComboBox1_KeyUp(ByVal sender AsObject, ByVal e As System.Windows.Forms.KeyEventArgs) Handles ComboBox1.KeyUp
    Dim index AsInteger

    Dim actual AsString

    Dim found AsString

    ' Do nothing for some keys such as navigation keys.

    If ((e.KeyCode = Keys.Back) Or _
    (e.KeyCode = Keys.Left)
    Or _
    (e.KeyCode = Keys.Right)
    Or _
    (e.KeyCode = Keys.Up)
    Or _
    (e.KeyCode = Keys.Delete)
    Or _
    (e.KeyCode = Keys.Down)
    Or _
    (e.KeyCode = Keys.PageUp)
    Or _
    (e.KeyCode = Keys.PageDown)
    Or _
    (e.KeyCode = Keys.Home)
    Or _
    (e.KeyCode = Keys.End))
    Then

    Return

    EndIf

    ' Store the actual text that has been typed.

    actual =
    Me.ComboBox1.Text
    ' Find the first match for the typed value.

    index =
    Me.ComboBox1.FindString(actual)
    ' Get the text of the first match.

    If (index > -1) Then

    found =
    Me.ComboBox1.Items(index).ToString()
    ' Select this item from the list.

    Me.ComboBox1.SelectedIndex = index
    ' Select the portion of the text that was automatically

    ' added so that additional typing will replace it.

    Me.ComboBox1.SelectionStart = actual.Length
    Me.ComboBox1.SelectionLength = found.Length
    EndIf

    EndSub


تاپیک های مشابه

  1. بایند کردن combobox
    نوشته شده توسط Mrs.Net در بخش C#‎‎
    پاسخ: 12
    آخرین پست: جمعه 06 مهر 1386, 14:09 عصر
  2. اضافه کردن ایتم به combobox
    نوشته شده توسط jafari_m246 در بخش C#‎‎
    پاسخ: 9
    آخرین پست: چهارشنبه 17 مرداد 1386, 18:42 عصر
  3. مشکل دوم ComboBox
    نوشته شده توسط lililili در بخش Access
    پاسخ: 8
    آخرین پست: سه شنبه 19 تیر 1386, 12:22 عصر

قوانین ایجاد تاپیک در تالار

  • شما نمی توانید تاپیک جدید ایجاد کنید
  • شما نمی توانید به تاپیک ها پاسخ دهید
  • شما نمی توانید ضمیمه ارسال کنید
  • شما نمی توانید پاسخ هایتان را ویرایش کنید
  •