📄 mdllistview.vb
字号:
End Sub
Public Sub AdjustListViewColumnWidth(ByRef lsv As TreeListView)
Dim col As ColumnHeader
Dim iWidth As Integer
If lsv.Items.Count = 0 Then
iWidth = -2
Else
iWidth = -1
End If
For Each col In lsv.Columns
col.Width = iWidth
Next
End Sub
' 显示全部客户到列表控件
Public Sub ListAllClients(ByRef lsv As TreeListView)
'当TypeId = 0时,查找所有的客户
'将查找到的客户集合添加到列表控件中
ClientsToListView(0, lsv)
End Sub
#End Region
'从列表或树型图中得到一个客户对象
Public Function GetClientFromListView(ByRef dmClient As clientMgrBusiness.ClientDataModel, ByVal lsv As TreeListView) As String
'如果列表中没有被选择的项,则直接退出
If lsv.SelectedItems.Count < 1 Then
Return "未选种任何元素"
End If
Dim clientObj As New clientMgrBusiness.Client
clientObj.GetClientInfo(dmClient, lsv.SelectedItems(0).Tag)
Return ""
End Function
#End Region
#Region "部门与Client相关的Combo函数"
Public Function ClientTypeToCombo(ByVal iTypeId As Integer, _
ByRef cbo As System.Windows.Forms.ComboBox) As String
'传入参数为客户的集合类与列表框
Dim ErrMsg As String = ""
Dim Ary As New ArrayList
Dim typeObj As New clientMgrBusiness.ClientType
'ErrMsg = typeObj.Search(Ary, iTypeId)
'绑定到Combox,这是最常用的方法
cbo.DataSource = Ary
cbo.DisplayMember = "Name"
cbo.ValueMember = "ID"
Return ErrMsg
End Function
Public Sub AllClientsTypeToCombo(ByRef cbo As System.Windows.Forms.ComboBox)
'当TypeId = 0时,查找所有的客户
ClientTypeToCombo(0, cbo)
End Sub
#End Region
#Region "与Warning相关的ListView操作"
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'与Warning相关的操作
'
'''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'按照“客户”设置ListView的显示样式
Public Sub InitWarnListview(ByRef lsv As TreeListView)
With lsv
.Columns.Clear()
'加入四个列首
.Columns.Add("提醒客户", 80, HorizontalAlignment.Left)
.Columns.Add("显示时间", 80, HorizontalAlignment.Left)
.Columns.Add("提醒类型", 80, HorizontalAlignment.Left)
.Columns.Add("提醒内容", 300, HorizontalAlignment.Left)
End With
End Sub
Public Sub AddWarnToLvw(ByVal dmWarn As clientMgrBusiness.WarningDataModel, _
ByRef lsv As TreeListView, ByVal IsOverWrite As Boolean)
'第三个参数如果是TRUE,则说明是更新当前已存在的某个列表项,否则是新加一个列表项
Dim Itm As ListViewItem
If IsOverWrite And lsv.SelectedItems.Count > 0 Then
Itm = lsv.SelectedItems(0)
Else
Itm = New TreeListViewItem(dmWarn.ClientName)
lsv.Items.Add(Itm)
Itm.SubItems.AddRange(New String() {"", "", ""})
End If
With dmWarn
Itm.SubItems(0).Text = .ClientName
Itm.SubItems(1).Text = (.ShowDate)
Itm.SubItems(2).Text = (.TypeName)
Itm.SubItems(3).Text = (.Msg)
Itm.Tag = .ID
End With
End Sub
'将Warning集合显示到ListView中
Public Sub WarningsToListview(ByVal dmWarn As clientMgrBusiness.WarningDataModel, ByRef lsv As ListView)
End Sub
Public Sub ListAllWarnings(ByRef lsv As TreeListView)
Dim i As Integer
'如果列表还未初始化,则初始化之(你可以采用其它方法判断是否初始化,这里是个笨办法)
If lsv.Columns.Count = 0 Then InitWarnListview(lsv)
lsv.Items.Clear() '清除当前的列表内容
Dim ErrMsg As String
Dim warnObj As New clientMgrBusiness.Warning
Dim Ary As New ArrayList
ErrMsg = warnObj.SearchAllWarnings(Ary)
Dim dmWarn As clientMgrBusiness.WarningDataModel
For i = 0 To Ary.Count - 1
'将每个“客户”都加入到该列表中,调用了单独的函数,没有全部做到这
'个函数中,为什么呢?参看AddWarnToLvw函数
dmWarn = Ary(i)
AddWarnToLvw(dmWarn, lsv, False)
Next i
End Sub
'从列表或树型图中得到一个客户对象
Public Function GetWarnFromListView(ByVal lst As ListView, _
ByRef dmWarn As clientMgrBusiness.WarningDataModel) As String
'如果列表中没有被选择的项,则直接退出
If lst.SelectedItems.Count < 1 Then
Return "未选种任何元素"
End If
Dim ErrMsg As String
Dim warnObj As New clientMgrBusiness.Warning
ErrMsg = warnObj.GetWarningInfo(dmWarn, lst.SelectedItems(0).Tag)
Return ErrMsg
End Function
#End Region
#Region "与Cooperate相关的ListView操作"
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
' 与合作记录相关的列表操作
''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''''
'按照“客户”设置ListView的显示样式
Public Sub InitCooperateListview(ByRef lsv As TreeListView)
With lsv
.Columns.Clear()
'加入四个列首
.Columns.Add("合作客户", 80, HorizontalAlignment.Left)
.Columns.Add("合作时间", 80, HorizontalAlignment.Left)
.Columns.Add("满意度", 60, HorizontalAlignment.Left)
.Columns.Add("合作说明", 200, HorizontalAlignment.Left)
End With
End Sub
Public Sub AddCooperateToListView(ByVal dmCoop As clientMgrBusiness.CooperateDataModel, _
ByRef lsv As TreeListView, ByVal IsOverWrite As Boolean)
'第三个参数如果是TRUE,则说明是更新当前已存在的某个列表项,否则是新加一个列表项
Dim Itm As ListViewItem
If IsOverWrite And lsv.SelectedItems.Count > 0 Then
Itm = lsv.SelectedItems(0)
Else
Itm = New TreeListViewItem(dmCoop.ClientName)
lsv.Items.Add(Itm)
Itm.SubItems.AddRange(New String() {" ", " ", " "})
End If
With dmCoop
Itm.Tag = .ID
Itm.SubItems(0).Text = .ClientName
Itm.SubItems(1).Text = (.CooperateDate)
Itm.SubItems(2).Text = (.Satisfaction)
Itm.SubItems(3).Text = (.Remark)
End With
End Sub
'将客户集合显示到ListView中
Public Sub CooperatesToListView(ByVal iClientId As Integer, ByRef lsv As TreeListView)
Dim i As Integer
'如果列表还未初始化,则初始化之(你可以采用其它方法判断是否初始化,这里是个笨办法)
If lsv.Columns.Count = 0 Then InitCooperateListview(lsv)
lsv.Items.Clear() '清除当前的列表内容
Dim ErrMsg As String
Dim coopObj As New clientMgrBusiness.Cooperate
Dim Ary As New ArrayList
ErrMsg = coopObj.Search(Ary, iClientId)
Dim dmCoop As clientMgrBusiness.CooperateDataModel
For i = 0 To Ary.Count - 1
'将每个“客户”都加入到该列表中,调用了单独的函数,没有全部做到这
'个函数中,为什么呢?参看AddCoopToLvw函数
dmCoop = Ary(i)
AddCooperateToListView(dmCoop, lsv, False)
Next i
End Sub
Public Sub ListAllCooperates(ByRef lsv As TreeListView, Optional ByVal lngClientId As Integer = 0)
End Sub
'从列表中得到一个客户对象
Public Function GetCoopFromListView(ByVal lsv As ListView, ByRef dmCoop As clientMgrBusiness.CooperateDataModel) As String
'如果列表中没有被选择的项,则直接退出
If lsv.SelectedItems.Count < 1 Then
Return "未选种任何元素"
End If
Dim coopObj As New clientMgrBusiness.Cooperate
Dim ErrMsg As String
ErrMsg = coopObj.GetCooperateInfo(dmCoop, lsv.SelectedItems(0).Tag)
Return ErrMsg
End Function
#End Region
End Module
⌨️ 快捷键说明
复制代码
Ctrl + C
搜索代码
Ctrl + F
全屏模式
F11
切换主题
Ctrl + Shift + D
显示快捷键
?
增大字号
Ctrl + =
减小字号
Ctrl + -