2002年的时候,因为要用到大量的list来选择数据,于是做了一个模块。 经过这么多年的测试,使用绝对稳定快捷。
提供 单Item函数: cmdDel_Click cmdAdd_Click 多Item函数: cmdDelAll_Click cmdAddAll_Click --------------------------------------------------------------------------------------------------------------------- ''''Option Explicit
''''author:nyb ''''Time:2002-04-05 ''''传入list1,list2,然后我们可以对list1,和list2中的item进行处理. ''''*All areas of code where modifications are necessary ''''*to integrate this object with a project are documented ''''with comments denoted by Note:. ''''*To locate these comments,search for ‘*NOTE::. ''''****************************************************************************************
Public Sub cmdDelAll_Click(List1 As ListBox, List2 As ListBox) ''''<< ''''*purpose: delete all list2.item ''''*Accept: list1 没有用,list2处理对象 For i = (List2.ListCount - 1) To 0 Step -1 List2.RemoveItem i Next i End Sub Public Sub CmdAdd2To1_Click(List1 As ListBox, List2 As ListBox, List3 As ListBox) ''''>> ''''*purpose: all item of list1 and list2 are inputed to list3 ''''*Accept: list1,list2 For i = 0 To (List1.ListCount - 1) List3.AddItem List1.List(i) Next i For i = 0 To (List2.ListCount - 1) List3.AddItem List2.List(i) Next i End Sub
Public Sub cmdAddAll_Click(List1 As ListBox, List2 As ListBox, Index As Integer) ''''>> ''''*purpose: add all item of list1 inputed to list2.if item had been there, It won''''t be inputed ''''*Accept: list1,list2 If List2.ListCount = 0 Then For i = 0 To (List1.ListCount - 1) List2.AddItem List1.List(i) Next i Else For i = 0 To (List1.ListCount - 1) Flag = CheckSelected(List1, List2, List1.List(i)) If Flag = "notbe" Then List2.AddItem List1.List(i) Next i End If End Sub
Public Sub cmdDel_Click(List1 As ListBox, List2 As ListBox) ''''<--- ''''*purpose: the selected items of list2 are cleared ''''*Accept: list1 没有用,list2处理对象 Dim i As Integer If List2.SelCount > 0 Then For i = (List2.ListCount - 1) To 0 Step -1 If List2.Selected(i) = True Then List2.RemoveItem i Next i End If End Sub
Public Sub cmdadd_Click(List1 As ListBox, List2 As ListBox, Index As Integer) ''''---> ''''*purpose: the selected items of list1 is inputed into list2 '''' list2为空,list2又可以多选,那么items selected in list1 are inputed to list2 '''' list2不为空,list2又可以多选,那么先检查item是否在list2中,如果在,那么就不添入list2 '''' list2设为单选,那么list2只添加list1中的的第一选中项 ''''*Accept: list1 选中的项目,list2为要加入的listbox Dim i As Integer Dim Flag As String If Index > 0 Then If List2.ListCount >= 1 Then If Index = 2 Then If List2.ListCount >= 2 Then If List1.MultiSelect = 0 Then MsgBox "只能选定两期对比!", vbExclamation, "操作提示!" Exit Sub End If End If End If End If End If If List2.ListCount = 0 And List2.MultiSelect = 2 Then For i = 0 To (List1.ListCount - 1) If List1.Selected(i) = True Then List2.AddItem List1.List(i) Next i ElseIf List2.ListCount > 0 And List2.MultiSelect = 2 Then For i = 0 To (List1.ListCount - 1) Flag = CheckSelected(List1, List2, List1.List(i)) If List1.Selected(i) = True And Flag = "notbe" Then List2.AddItem List1.List(i) Next i ElseIf List2.MultiSelect = 0 Then Call cmdDelAll_Click(List1, List2) For i = 0 To (List1.ListCount - 1) If List1.Selected(i) = True Then List2.AddItem List1.List(i) Next i End If Call ClearSelect(List1) End Sub
Private Function CheckSelected(List1 As ListBox, List2 As ListBox, CityItem As String) As String ''''*purpose: ''''检查item是否已经被添加,已添加则CheckSelected = "be" ''''*Accept: list1 选中的项目,list2为要加入的listbox,CityItem为list1 中一个被选中的项目 ''''*Feedback: CheckSelected , "be" 表示这个item在list2中存在 For i = (List2.ListCount - 1) To 0 Step -1 If CityItem = List2.List(i) Then CheckSelected = "be" Exit For Else: CheckSelected = "notbe" End If Next i End Function
Private Sub ClearSelect(List1) ''''*purpose: Clear List1''''s selected ''''*Accept: list1 ,the list box to clear selected For i = 0 To List1.ListCount - 1 If List1.Selected(i) = True Then List1.Selected(i) = False End If Next i End Sub
[Web开发]在ASP.NET中如何用C#.NET实现基于表单的验证 [Sql Server]Access中如何用 Jet SQL 语句删除表关系?
|