我在我的Winform應用程序中動態添加和填充面板內的RadCheckedDropDownList。修改RadCheckedDropDownList的文本
RadCheckedDropDownList的當前功能是,如果我從列表中選擇多個值,則值將在組合框中列出,並用分隔符分隔。像下面
圖像中我的問題是如何改變顯示的數值爲「多」,而不是顯示通過分離器分離的值時,多值selected.Preferably多應該只讀不令牌。
我在我的Winform應用程序中動態添加和填充面板內的RadCheckedDropDownList。修改RadCheckedDropDownList的文本
RadCheckedDropDownList的當前功能是,如果我從列表中選擇多個值,則值將在組合框中列出,並用分隔符分隔。像下面
圖像中我的問題是如何改變顯示的數值爲「多」,而不是顯示通過分離器分離的值時,多值selected.Preferably多應該只讀不令牌。
爲此,您可以在控件的可編輯部分添加一個新元素,該元素將負責顯示文本而不會搞亂控件功能。
然後,您可以使用ItemCheckedChanged事件,該事件將在檢查某個項目時觸發,並且您可以在此處看到當前檢查了多少項目,如果有多個項目,則使用文本顯示元素並隱藏標記。
Protected Overrides Sub OnLoad(e As EventArgs)
MyBase.OnLoad(e)
AddCheckedDropDownList()
AddHandler radCheckedDropDownList1.ItemCheckedChanged, AddressOf radCheckedDropDownList1_ItemCheckedChanged
radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children.Add(New LightVisualElement() With { _
Key .Text = "Multiple" _
})
AdjustControlText()
End Sub
Private Sub radCheckedDropDownList1_ItemCheckedChanged(sender As Object, e As RadCheckedListDataItemEventArgs)
AdjustControlText()
End Sub
Private Sub AdjustControlText()
If radCheckedDropDownList1.CheckedItems.Count > 1 Then
radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Collapsed
DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = True
Else
radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.AutoCompleteTextBox.ViewElement.Visibility = Telerik.WinControls.ElementVisibility.Visible
DirectCast(radCheckedDropDownList1.CheckedDropDownListElement.AutoCompleteEditableAreaElement.Children(1), LightVisualElement).DrawText = False
End If
End Sub
它運行良好,是我需要的解決方案。 – KopMaverick
你是什麼意思「將顯示值更改爲多個」? – Roman
如果用戶選擇3個值,例如星期一,星期二,星期四。它不會顯示「星期一;星期二;星期四」,而必須顯示「多個」。 – KopMaverick