or
Public Overrides Sub InitializeEditor(ByVal container As System.Web.UI.Control)
_combo = New RadComboBox()
_combo.ID = "MyCombo"
_combo.Width = 200
_combo.Height = 180
'For the Treeview
Dim treeItem As New ItemTemplateTreeView(CreateDataSource())
_combo.ItemTemplate = treeItem
Dim item As New RadComboBoxItem()
_combo.Items.Add(item)
_combo.OnClientDropDownOpened = "OnClientDropDownOpenedHandler"
container.Controls.Add(_combo)
End Sub
Public Overrides Function ExtractValues() As System.Collections.ArrayList
Dim list As ArrayList = New ArrayList()
list.Add(DirectCast(_combo.Items(0).FindControl("myTreeview"), RadTreeView).SelectedValue)
Return list
End Function
Public Overrides Sub SetEditorValues(ByVal values As System.Collections.ArrayList)
If Not values Is Nothing And values.Count > 0 Then
If values(0) Is Nothing Then
Return
End If
'Dim item As RadComboBoxItem = _combo.FindItemByValue(values(0).ToString())
Dim item As RadTreeNode = DirectCast(_combo.Items(0).FindControl("myTreeview"), RadTreeView).FindNodeByValue(values(0).ToString())
'If Not item Is Nothing Then
item.Selected = True
_combo.Items(0).Text = item.Text
' _combo.Items(0).Value = item.Value
End If
End If
End Sub
Protected Function CreateDataSource() As DataTable
Dim dataTable As New DataTable()
dataTable.Columns.Add(New DataColumn("Key", GetType(String)))
dataTable.Columns.Add(New DataColumn("Name", GetType(String)))
dataTable.Columns.Add(New DataColumn("ParentId", GetType(String)))
Dim AnalysItems As AnalysListItemList = TryCast(DataSource, AnalysListItemList )
For Each item As CategoryValueListItem In AnalysItems
Dim dr As DataRow = dataTable.NewRow()
dr("Key") = item.Key
dr("Name") = item.Name
If item.Category = item.Key Then
dr("ParentId") = DBNull.Value
Else
dr("ParentId") = item.Category End If
dataTable.Rows.Add(dr)
Next
Return dataTable
End Function
Public Class ItemTemplateTreeView
Implements ITemplate
Private dataTable As DataTable
Public Sub New(ByVal _dataTable As DataTable)
'
' TODO: Add constructor logic here
'
Me.dataTable = _dataTable
End Sub
Public Sub InstantiateIn(ByVal container As Control) Implements ITemplate.InstantiateIn
Dim div As New HtmlGenericControl("div")
div.ID = "div1"
div.Attributes.Add("onclick", "StopPropagation(event);")
Dim tree As New RadTreeView()
Dim item As RadComboBoxItem = DirectCast(container, RadComboBoxItem)
tree.ID = "myTreeView"
tree.OnClientNodeClicking = "nodeClicking"
tree.DataTextField = "Name"
tree.DataFieldID = "Key"
tree.DataValueField = "Key"
tree.DataFieldParentID = "ParentId"
tree.DataSource = dataTable
tree.DataBind()
div.Controls.Add(tree)
container.Controls.Add(div)
End Sub
End Class
<
telerik:RadAjaxManager
ID
=
"RadAjaxManager1"
runat
=
"server"
>
<
AjaxSettings
>
<
telerik:AjaxSetting
AjaxControlID
=
"rbDonationTypeGeneral"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlILMO"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
<
telerik:AjaxSetting
AjaxControlID
=
"rbDonationILMO"
>
<
UpdatedControls
>
<
telerik:AjaxUpdatedControl
ControlID
=
"pnlILMO"
/>
</
UpdatedControls
>
</
telerik:AjaxSetting
>
</
AjaxSettings
>
</
telerik:RadAjaxManager
>
<
telerik:RadAjaxPanel
ID
=
"pnlDonationType"
runat
=
"server"
height
=
"59px"
width
=
"300px"
>
<
asp:RadioButton
ID
=
"rbDonationTypeGeneral"
runat
=
"server"
Checked
=
"True"
GroupName
=
"grpDonationType"
Text
=
" General Donation"
/>
<
br
/>
<
asp:RadioButton
ID
=
"rbDonationILMO"
runat
=
"server"
GroupName
=
"grpDonationType"
Text
=
" In Loving Memory Of..."
/>
</
telerik:RadAjaxPanel
>
<
telerik:RadAjaxPanel
ID
=
"pnlILMO"
runat
=
"server"
height
=
"373px"
width
=
"717px"
Visible
=
"False"
>
A charitable contribution has been made to the Foundation:
<
br
/>
<
br
/>
<
b
>In loving memory of:</
b
>
<
telerik:RadTextBox
ID
=
"txtILMO_Name"
Runat
=
"server"
Width
=
"175px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
Cared for in (city):
<
telerik:RadTextBox
ID
=
"txtHospiceCity"
Runat
=
"server"
Width
=
"175px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
By (donor):
<
telerik:RadTextBox
ID
=
"txtDonorName"
Runat
=
"server"
Width
=
"260px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
E-mail:
<
telerik:RadTextBox
ID
=
"txtDonorEmail"
Runat
=
"server"
Width
=
"246px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
Phone:
<
telerik:RadMaskedTextBox
ID
=
"txtDonorPhone"
runat
=
"server"
Mask
=
"(###) ###-####"
Width
=
"80"
>
</
telerik:RadMaskedTextBox
>
Address:
<
telerik:RadTextBox
ID
=
"txtDonorAddress"
Runat
=
"server"
Width
=
"452px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
City:
<
telerik:RadTextBox
ID
=
"txtDonorCity"
Runat
=
"server"
Width
=
"260px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
State:
<
telerik:RadComboBox
ID
=
"cmbDonorState"
Runat
=
"server"
DataSourceID
=
"USStates"
DataTextField
=
"name"
DataValueField
=
"abbreviation"
MarkFirstMatch
=
"True"
Skin
=
"Forest"
Width
=
"150px"
>
</
telerik:RadComboBox
>
Zip:
<
telerik:RadTextBox
ID
=
"txtDonorZip"
Runat
=
"server"
Width
=
"103px"
Wrap
=
"False"
MaxLength
=
"10"
>
</
telerik:RadTextBox
>
<
br
/>
<
br
/>
<
br
/>
<
b
>Please send an acknowledgement to:</
b
><
br
/> Name:
<
telerik:RadTextBox
ID
=
"txtAcknowledgement_Name"
Runat
=
"server"
Width
=
"622px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
Address:
<
telerik:RadTextBox
ID
=
"txtAcknowledgement_Address"
Runat
=
"server"
Width
=
"608px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
City:
<
telerik:RadTextBox
ID
=
"txtAcknowledgement_City"
Runat
=
"server"
Width
=
"260px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
State:
<
telerik:RadComboBox
ID
=
"cmbAcknowledgement_State"
Runat
=
"server"
DataSourceID
=
"USStates"
DataTextField
=
"name"
DataValueField
=
"abbreviation"
MarkFirstMatch
=
"True"
Skin
=
"Forest"
Width
=
"150px"
>
</
telerik:RadComboBox
>
Zip:
<
telerik:RadTextBox
ID
=
"txtAcknowledgement_Zip"
Runat
=
"server"
Width
=
"105px"
Wrap
=
"False"
>
</
telerik:RadTextBox
>
<
br
/>
<
br
/>
<
br
/>
</
telerik:RadAjaxPanel
>
Protected Sub rbDonationTypeGeneral_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbDonationTypeGeneral.CheckedChanged
pnlILMO.Visible = False
End Sub
Protected Sub rbDonationILMO_CheckedChanged(ByVal sender As Object, ByVal e As System.EventArgs) Handles rbDonationILMO.CheckedChanged
pnlILMO.Visible = True
End Sub