Visual Basic Programming
 
Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
User Name:
Password:
Remember me

The Shed is going Social! Join us on FaceBook and Twitter and chime in on the conversation.

Go Back   Dev Shed ForumsProgramming Languages - MoreVisual Basic Programming

Reply
Add This Thread To:
  Del.icio.us   Digg   Google   Spurl   Blink   Furl   Simpy   Y! MyWeb 
Thread Tools Search this Thread Rate Thread Display Modes
 
Unread Dev Shed Forums Sponsor:
  #1  
Old September 17th, 2012, 02:01 AM
xpasaway xpasaway is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2012
Posts: 5 xpasaway User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 20 m 16 sec
Reputation Power: 0
Combo Box problem - how to populate data

HI to all,

I have a combo box. my problem is that, i have 4 textbox below

here are the data from frmPilotShiftingSchedules.frm
cboPilot
txtScheduleNo
txtMonth
txtTimeFrom
TxtTimeTo


My problem is this:

how can i automatically load data in textbox,for example, if you choose a name or a value in combo box cboPilot , the data will also appear to textbox? Thanks for the help..

here is my code
Private Sub LoadComboBoxes_DB()
Dim dt As DataTable
dt = CollectData("SELECT Pilot_ID,Pilot_Name + ' ' + Emp_No AS Pilot_Name FROM vw_Pilot ")
If dt.Rows.Count = 0 Then Exit Sub
Me.cboPilot.DataSource = Nothing
Me.cboPilot.DataSource = dt
Me.cboPilot.ValueMember = "Pilot_ID"
Me.cboPilot.DisplayMember = "Pilot_Name"
Me.cboPilot.SelectedIndex = -1
End Sub

here is the 2nd code

Private Sub cboPilot_SelectedValueChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles cboPilot.SelectedValueChanged

Dim dt As DataTable
'If bLoad = True Then Exit Sub
'dt = CollectData("select * from vw_Pilot_Scheduling where Pilot_ID = '" & Me.cboPilot.SelectedValue & "'")

dt = CollectData("SELECT Pilot_ID,Pilot_Name + ' ' + Emp_No AS Pilot_Name FROM vw_Pilot_Shifting ORDER BY Pilot_Name ")
'dt = CollectData("SELECT * from vw_Pilot_Shifting")

If dt.Rows.Count > 0 Then
Me.txtScheduleNo.Text = dt.Rows(0)("Schedule_No")
Me.txtMonth.Text = dt.Rows(0)("Month_No")
Me.txtTimeFrom.Text = dt.Rows(0)("Day_Time_From")
Me.txtTimeTo.Text = dt.Rows(0)("Day_Time_To")
End If
End Sub

Reply With Quote
  #2  
Old September 17th, 2012, 11:58 AM
couttsj couttsj is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2011
Posts: 167 couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 2 Days 17 h 26 m 18 sec
Reputation Power: 43
With a Combo Box, the Click event places the item selected from the list in the text box portion and collapses the list. Therefore I use the dblClick event to react to the contents. I also use the KeyPress event to call the Click event if an [Enter] (Chr$(13)) is detected. The normal process would then be to click a member of the list and then hit the [Enter] key. The user can also use the arrow keys to navigate up and down the list, and then just enter when the correct one is found. If the list is long, and you want to give the user the opportunity to narrow down the list with key strokes, you should load the Combo Box alphabetically sorted and make sure the first item in the list is invalid (I use No Match with a space in front of it).

I trust this is what you meant.

J.A. Coutts

Reply With Quote
  #3  
Old September 17th, 2012, 08:02 PM
xpasaway xpasaway is offline
Registered User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Sep 2012
Posts: 5 xpasaway User rank is Just a Lowly Private (1 - 20 Reputation Level) 
Time spent in forums: 1 h 20 m 16 sec
Reputation Power: 0
Quote:
Originally Posted by couttsj
With a Combo Box, the Click event places the item selected from the list in the text box portion and collapses the list. Therefore I use the dblClick event to react to the contents. I also use the KeyPress event to call the Click event if an [Enter] (Chr$(13)) is detected. The normal process would then be to click a member of the list and then hit the [Enter] key. The user can also use the arrow keys to navigate up and down the list, and then just enter when the correct one is found. If the list is long, and you want to give the user the opportunity to narrow down the list with key strokes, you should load the Combo Box alphabetically sorted and make sure the first item in the list is invalid (I use No Match with a space in front of it).

I trust this is what you meant.

J.A. Coutts



Okey sir, Opps., i did not understand fully. For your info, im just a newbie in vb2010., and i've not practiced programming for a very long period of time.
can u give me a light example?? i am very sorry for disturbing you.

Reply With Quote
  #4  
Old September 18th, 2012, 12:36 PM
couttsj couttsj is offline
Contributing User
Dev Shed Newbie (0 - 499 posts)
 
Join Date: Aug 2011
Posts: 167 couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level)couttsj User rank is Sergeant Major (2000 - 5000 Reputation Level) 
Time spent in forums: 2 Days 17 h 26 m 18 sec
Reputation Power: 43
Quote:
Originally Posted by xpasaway
Okey sir, Opps., i did not understand fully. For your info, im just a newbie in vb2010., and i've not practiced programming for a very long period of time.
can u give me a light example?? i am very sorry for disturbing you.

You are using VB.Net and my experience is with VB6, so there may be some slight differences in application. But the basic operation of the Combo Box should be the same. The list contents of the Combo Box or the List Box is a single string with each element separated by a Null character (Chr$(0)). The Combo Box consists of a Text Box and a List Box. When you click on an element in the list of a Combo Box, that element is copied to the Text Box and the ListIndex property is updated to point to that element. Both of these are now available for use, the list is collapsed, and the focus is on the Text Box portion. If you intercept the [Enter] keystroke (Chr$(13)) in the KeyPress event, you can process this information further.

I have included an example from a working program below that recovers customer information from a database. The list portion of the Combo Box is loaded from a 2 dimensional array that relates the Customer Name to the Customer Number. This is necessitated because there can be identical names, but the numbers are unique. The array is loaded by a database query sorted by name, but the first element of the list is always loaded with an invalid name that will always be at the top of the list:
No Match
ABBOTT/MILENA MRS
ABC AUTO IMPORTS
ABERT/PIOTR MR
ABOLADE/LILLIAN MS
ABRAM/ALICJA MRS
ABRAM/HELENA MRS
The list will attempt to find whatever is typed into the Text Box. If an invalid name (or partial name) is entered, the list will always go to the top, and selecting the first item (ListIndex = 0) will produce an error message, because it is invalid. I am using a Combo Box configured as a Dropdown Combo, because I want to allow new customers to be added here, but if you do not want to allow any entry, you should configure it as a Dropdown List. You will also notice that I am issuing a system call to automatically show the Dropdown list whenever the Combo Box receives the focus (this will be different in .net).

J.A. Coutts
Code:
Private Sub Customer_Click()
    Call ClearGrid
    LSelect.Visible = True
    If Customer.ListIndex < 0 Then Exit Sub
    CustNum.Text = CustListData(1, Customer.ListIndex)
End Sub

Private Sub Customer_DblClick()
    Dim N%
    Dim Result As Long
    Dim vKeys As Variant
    Dim vExceptions As Variant
    Screen.MousePointer = 11
    Customer.Clear
    vKeys = "SELECT CustName, CustNo From Customer ORDER BY CustName;"
    Result = GetLocalData(vKeys, CustListData, vExceptions)
    For N% = 0 To UBound(CustListData, 2)
        Customer.AddItem CustListData(0, N%)
    Next N%
    ListFlg = False
    Screen.MousePointer = 0
End Sub

Private Sub Customer_DropDown()
    If ListFlg Then
        Call Customer_DblClick
        ListFlg = False
    End If
End Sub

Private Sub Customer_GotFocus()
    Dim Tmp%
    Tmp% = SendMessage(Customer.hWnd, CB_SHOWDROPDOWN, 1, ByVal 0&)
End Sub

Private Sub Customer_KeyPress(KeyAscii As Integer)
    If KeyAscii = 13 Then
        If Customer.ListIndex < 0 Then
            MsgBox "No Selection Made!"
        Else
            RecNo = CustNum.Text
            Call GetRecord(RecNo)
            RecGrid.SetFocus
            LSelect.Visible = False
        End If
    End If
End Sub


Edit: The space in front of No Match got removed in transmission.

Last edited by couttsj : September 18th, 2012 at 12:39 PM.

Reply With Quote
Reply

Viewing: Dev Shed ForumsProgramming Languages - MoreVisual Basic Programming > Combo Box problem - how to populate data

Developer Shed Advertisers and Affiliates



Thread Tools  Search this Thread 
Search this Thread:

Advanced Search
Display Modes  Rate This Thread 
Rate This Thread:


Posting Rules
You may not post new threads
You may not post replies
You may not post attachments
You may not edit your posts

vB code is On
Smilies are On
[IMG] code is On
HTML code is Off
View Your Warnings | New Posts | Latest News | Latest Threads | Shoutbox
Forum Jump

Forums: » Register « |  User CP |  Games |  Calendar |  Members |  FAQs |  Sitemap |  Support | 
  
 


Powered by: vBulletin Version 3.0.5
Copyright ©2000 - 2013, Jelsoft Enterprises Ltd.

© 2003-2013 by Developer Shed. All rights reserved. DS Cluster - Follow our Sitemap