在我的應用程序中我有一個包含5個不同的listview控件的表單。我試圖在這裏實現兩件事情,我已經變得有點卡...同時選擇同一行多個listview控件
1.有沒有一種方法,我可以讓它,所以當我點擊第3行(例如)Listview1,它爲所有listview控件選擇第3行?我有下面的代碼在我的是ListView1事件_SelectedIndexChanged其工作正常設置,但是,我希望把它因此,如果用戶點擊任何列表視圖的ROW3,它改變了所有的ListView控件3行
Private Sub lsvRegisters_SelectedIndexChanged(sender As Object, e As EventArgs) Handles lsvRegisters.SelectedIndexChanged
Try
If Not lsvRegisters.SelectedItems.Count = 0 Then
Dim index As Integer = lsvRegisters.SelectedIndices(0)
If lsvRegister_Hardware.Items.Count > 0 Then lsvRegister_Hardware.Items(index).Selected = True
If lsvRegister_Software.Items.Count > 0 Then lsvRegister_Software.Items(index).Selected = True
If lsvRegister_Processes.Items.Count > 0 Then lsvRegister_Processes.Items(index).Selected = True
If lsvRegister_System.Items.Count > 0 Then lsvRegister_System.Items(index).Selected = True
If lsvRegister_Misc.Items.Count > 0 Then lsvRegister_Misc.Items(index).Selected = True
End If
Catch ex As Exception
CreateLog("Module: lsvRegisters_SelectedIndexChanged()" & vbNewLine & "Exception Error: " & ex.Message)
MsgBox("Exception Error: " & ex.Message, MsgBoxStyle.Critical, "Module: lsvRegisters_SelectedIndexChanged()")
End Try
End Sub
其次:
2.有沒有一種方法,我可以使它所以所有的listview控件有高亮欄作爲活動的顏色?目前它只顯示帶有藍色突出顯示欄的焦點列表視圖控件,其他人則顯示爲暗灰色。我想(如果可能的話)將所有listview控件顯示爲藍色,無論它是否具有焦點。
任何幫助表示讚賞。 感謝
更新 的ListView控件的多重選擇現在工作的要求,但是,一旦一個ListView失去焦點,只保留第一個單元格高亮顯示,如下圖所示:
我設置listview控件的代碼來自一個數據集。我已經展示了第一個listview,但它們都是一樣的。
Try
QueryString = "SELECT * FROM Registers WHERE StoreID = '" & _StoreCode & "'"
Dim ExQry As New MySqlCommand(QueryString, MySQLConn)
Dim da As New MySqlDataAdapter(ExQry)
da.Fill(dsStoreDetail, "StoreDetail")
Dim tempDT As DataTable = dsStoreDetail.Tables("StoreDetail")
If dsStoreDetail.Tables.Count > 0 And dsStoreDetail.Tables(0).Rows.Count > 0 Then
For x = 0 To (dsStoreDetail.Tables(0).Rows.Count - 1)
Dim lvi_RegistersItem As ListViewItem = lsvRegisters.Items.Add(tempDT.Rows(x)("Online").ToString)
lvi_RegistersItem.SubItems.Add(tempDT.Rows(x)("Lane").ToString)
lvi_RegistersItem.SubItems.Add(tempDT.Rows(x)("Host_Name").ToString)
lvi_RegistersItem.SubItems.Add(tempDT.Rows(x)("Reg_Type").ToString)
lvi_RegistersItem.SubItems.Add(tempDT.Rows(x)("Operator").ToString)
lvi_RegistersItem.SubItems.Add(tempDT.Rows(x)("Register_Locked").ToString)
Next
Else
lblEmptyString.Visible = True
End If
dsStoreDetail.Clear()
tempDT = Nothing
Catch ex As Exception
CreateLog("Module: LoadStoreData()" & vbNewLine & "Exception Error: " & ex.Message)
MsgBox("Exception Error: " & ex.Message, MsgBoxStyle.Critical, "Module: LoadStoreData()")
lblEmptyString.Visible = True
End Try
我已經將所有listview控件設置爲FullRowSelect = True,但只在設計時 - 不知道是否重要。
我建議你一次只提出一個問題。這樣你更可能得到答案。因爲知道一個答案的人可能不知道另一個答案。而且,由於他們不太可能獲得「接受答覆」,只有一個答案,他們什麼也沒說。 – WozzeC