by vpganesan (1 Submission)
Category: Miscellaneous
Compatability: VB 6.0
Difficulty: Unknown Difficulty
Originally Published: Sat 17th November 2001
Date Added: Mon 8th February 2021
Rating:
(1 Votes)
list view control used for search option
API Declarations
Public Genid1 As String
Public Genid2 As Integer
Public Genid3 As String
Public Genid4 As String
Public Genid5 As Integer
'Text1,Text2,listview1,updown control1,command1,command2,command3
'set the property of updown1 - given below.
'Buddy -Text2 ;buddyproperty - Text ;unselect Autobuddy;select syncbuddy
Public RECSET As ADODB.Recordset
Public COL1, COL2, COL3 As String
Private Sub Command1_Click()
Genid1 = ""
Genid2 = 0
Genid3 = ""
Genid4 = ""
Genid5 = 0
Genid0 = ListView1.SelectedItem
Genid1 = ListView1.SelectedItem.SubItems(1)
Genid2 = ListView1.SelectedItem.SubItems(2)
Genid3 = ListView1.SelectedItem.SubItems(3)
Genid4 = ListView1.SelectedItem.SubItems(4)
Unload Me
End Sub
Private Sub Command2_Click()
Text1.Text = ""
Text1.SetFocus
If ListView1.ListItems.count > 1 Then ListView1.SelectedItem.forecolor = vbBlue
End Sub
Public Sub colinit(SELSQL As String, noofcal As Integer, COL1 As String, chead1 As String, Optional COL2 As String, Optional chead2 As String, Optional COL3 As String, Optional chead3 As String, Optional COL4 As String, Optional chead4 As String, Optional COL5 As String, Optional chead5 As String)
Set RECSET = New ADODB.Recordset
RECSET.Open SELSQL, Conn, adOpenDynamic, adLockOptimistic
ListView1.View = lvwReport
ListView1.forecolor = vbBlue
If chead1 <> "" Then
If noofcal = 1 Then
ListView1.ColumnHeaders.Add , , chead1, ListView1.Width / 2 - 300
ElseIf noofcal = 2 Then
ListView1.ColumnHeaders.Add , , chead1, ListView1.Width / 2
Else
ListView1.ColumnHeaders.Add , , chead1, ListView1.Width / 3
End If
End If
If chead2 <> "" Then
If noofcal = 2 Then
ListView1.ColumnHeaders.Add , , chead2, ListView1.Width / 2 - 300
Else
ListView1.ColumnHeaders.Add , , chead2, ListView1.Width / 3
End If
End If
If chead3 <> "" Then
ListView1.ColumnHeaders.Add , , chead3, ListView1.Width / 5
End If
If chead4 <> "" Then
ListView1.ColumnHeaders.Add , , chead4, ListView1.Width / 7
End If
If chead5 <> "" Then
ListView1.ColumnHeaders.Add , , chead5, ListView1.Width / 9
End If
UpDown1.Max = ListView1.ColumnHeaders.count
Text2.Text = UpDown1.Value
If RECSET.EOF = True Then
ListView1.ListItems.Clear
Exit Sub
End If
RECSET.MoveFirst
Dim itm As ListItem
i = 1
ListView1.ListItems.Clear
While Not RECSET.EOF
Set itm = ListView1.ListItems.Add(, , RECSET(COL1))
If COL2 <> "" Then
itm.SubItems(1) = RECSET(COL2)
End If
If COL3 <> "" Then
itm.SubItems(2) = RECSET(COL3)
End If
If COL4 <> "" Then
itm.SubItems(3) = RECSET(COL4)
End If
If COL5 <> "" Then
itm.SubItems(4) = RECSET(COL5)
End If
RECSET.MoveNext
i = i + 1
Wend
RECSET.MoveLast
End Sub
Private Sub Command3_Click()
Genid1 = ""
Genid2 = 0
Genid3 = ""
Genid4 = ""
Genid5 = 0
Unload Me
End Sub
Private Sub Form_Load()
Me.Left = Screen.Width - Me.Width
Me.Top = (Screen.Height - Me.Height) / 2
End Sub
Private Sub ListView1_Click()
Text1.Text = ListView1.SelectedItem.Text
ListView1.SelectedItem.forecolor = vbBlue
End Sub
Private Sub ListView1_ColumnClick(ByVal ColumnHeader As MSComctlLib.ColumnHeader)
If ListView1.SortOrder = lvwAscending Then
ListView1.SortOrder = lvwDescending
Else
ListView1.SortOrder = lvwAscending
End If
End Sub
Private Sub Text1_Change()
Call SELECTS1
End Sub
Private Sub SELECTS1()
For i = 1 To ListView1.ListItems.count
ListView1.SelectedItem.forecolor = vbBlue
If Val(Text2.Text) = 1 Then
If Left(ListView1.ListItems.Item(i).Text, Len(Trim(Text1))) = Text1.Text Then
ListView1.ListItems.Item(i).Selected = True
ListView1.SelectedItem.forecolor = vbRed
ListView1.SelectedItem.EnsureVisible
Exit Sub
End If
Else
If Left(ListView1.ListItems.Item(i).SubItems(Val(Text2) - 1), Len(Trim(Text1))) = Text1.Text Then
ListView1.ListItems.Item(i).Selected = True
ListView1.SelectedItem.forecolor = vbRed
ListView1.SelectedItem.EnsureVisible
Exit Sub
End If
End If
Next i
ListView1.SelectedItem.EnsureVisible
End Sub
Private Sub Text1_KeyPress(KeyAscii As Integer)
If KeyAscii = 13 Then Call Command1_Click
End Sub