Maybe I'm not doing this the right way, but I'm trying to use RadWindow as a dialog box. When I add controls (dropdownlist, textbox, listbox) to the RadWindow dynamically I'm not able to figure out how to get the new values of these dynamic controls on a postback.
I've tried 2 different approaches to adding the dynamic controls to the Radwindow. In the first case I added a Panel dynamically to rwinProperties.ContentContainer and I add all my controls to this panel. I look for the dynamic controls on rwinProperties.ContentContainer.Controls. But I don't see them there after the postback. I also tried creating a static Panel inside the ContentTemplate and adding all the dynamic controls to it. Still no luck.
The postback is created by a radbutton I added statically in the RadWindow in the ContentTemplate. I'm suspecting
So I'm suspecting that I can't these values from a postback, so how do I get them?
Thanks
I've tried 2 different approaches to adding the dynamic controls to the Radwindow. In the first case I added a Panel dynamically to rwinProperties.ContentContainer and I add all my controls to this panel. I look for the dynamic controls on rwinProperties.ContentContainer.Controls. But I don't see them there after the postback. I also tried creating a static Panel inside the ContentTemplate and adding all the dynamic controls to it. Still no luck.
The postback is created by a radbutton I added statically in the RadWindow in the ContentTemplate. I'm suspecting
So I'm suspecting that I can't these values from a postback, so how do I get them?
Thanks
Sub SetSectionProperties(ByVal SectionID As String, SectionCount As String, ByVal SectionName As String) Dim SectionString As String = SectionID & "__" & SectionCount Dim Properties As New clsDashboardProperties(SectionID) Dim PropertyName As String Dim PropertyNameTitle As String Dim PropertyDesc As String Dim PropertyID As Integer Dim PropertyVisible As Boolean Dim ValueSet As String = "" Dim DefaultValue As String Dim ControlType As String = "" Dim lbl As Label Dim ddl As DropDownList Dim lbx As ListBox Dim tb As TextBox Dim lc As LiteralControl Dim ht As Hashtable = Session("SessionProperties") Dim pnl As New System.Web.UI.WebControls.Panel Dim pnl2 As New System.Web.UI.WebControls.Panel Dim oProp As clsDashboardPropertyMapItem Dim tbl As Table Dim tbl2 As Table 'For invisible properties Dim rw As TableRow Dim cell As TableCell pnl.ID = "pnlDialog" pnl.Width = New Unit("100%") pnl.Height = New Unit("100%") pnl.BorderWidth = 1 pnl.BackColor = Drawing.Color.LightGray pnl.Visible = True rwinProperties.ContentContainer.Controls.Add(pnl) lbl = New Label lbl.Text = "<br/><b> " & SectionName & " " & "Properties</b>" pnl.Controls.Add(lbl) lbl = New Label() lbl.Text = "<br/><br/>" pnl.Controls.Add(lbl) If Properties.Count >= 1 Then tbl = New Table tbl2 = New Table tbl2.Visible = False For Each prop As clsDashboardProperty In Properties PropertyName = prop.PropertyName PropertyNameTitle = prop.PropertyNameTitle ValueSet = prop.ValueSet ControlType = prop.ControlType PropertyDesc = prop.PropertyDesc PropertyID = prop.PropertyID PropertyVisible = prop.PropertyVisible DefaultValue = prop.DefaultValue rw = New TableRow() cell = New TableCell() cell.Width = 10 cell.Text = " " rw.Controls.Add(cell) cell = New TableCell() cell.Text = "<b>" & PropertyNameTitle & ":</b> " rw.Controls.Add(cell) cell = New TableCell() 'Add some space cell = New TableCell() cell.Width = 10 cell.Text = " " rw.Controls.Add(cell) Dim Values() As String = ValueSet.Split(",") If ControlType = "lb" Then lbl = New Label lbl.Text = Values(0) lbl.ID = "lb_" & SectionString & "_" & PropertyID & "_" & PropertyName lbl.Visible = PropertyVisible cell.Controls.Add(lbl) ElseIf ControlType = "ddl" Then ddl = New DropDownList ddl.Items.Add("Default") For Each Val As String In Values ddl.Items.Add(Val) Next ddl.ID = "ddl_" & SectionString & "_" & PropertyID & "_" & PropertyName ddl.Visible = PropertyVisible ddlSelect(ddl, DefaultValue) 'Go select an item in the list cell.Controls.Add(ddl) ElseIf ControlType = "lbx" Then lbx = New ListBox lbx.Items.Add("Default") lbx.SelectionMode = ListSelectionMode.Multiple For Each Val As String In Values lbx.Items.Add(Val) Next lbx.ID = "ddl_" & SectionString & "_" & PropertyID & "_" & PropertyName lbx.Visible = PropertyVisible lbxSelect(lbx, DefaultValue) 'Go select items in the list cell.Controls.Add(lbx) ElseIf ControlType = "tb" Then tb = New TextBox tb.ID = "tb_" & SectionString & "_" & PropertyID & "_" & PropertyName tb.Text = Values(0) tb.Visible = PropertyVisible cell.Controls.Add(tb) ElseIf ControlType = "tbml" Then 'Multiline textbox tb = New TextBox tb.ID = "tb_" & SectionString & "_" & PropertyID & "_" & PropertyName tb.Text = Values(0) tb.Visible = PropertyVisible tb.TextMode = TextBoxMode.MultiLine tb.Rows = 4 tb.Columns = 35 tb.Font.Name = "Arial" cell.Controls.Add(tb) End If rw.Controls.Add(cell) 'Add some space cell = New TableCell() cell.Width = 10 cell.Text = " " rw.Controls.Add(cell) 'Add the description of the property cell = New TableCell() cell.Text = "<i>" & PropertyDesc & "</i> " rw.Controls.Add(cell) If PropertyVisible Then tbl.Controls.Add(rw) Else tbl2.Controls.Add(rw) End If Next pnl.Controls.Add(tbl) If tbl2.Rows.Count > 0 Then pnl.Controls.Add(tbl2) End If lc = New LiteralControl() lc.Text = "<br/>" pnl.Controls.Add(lc) Else lbl = New Label lbl.Text = " No Properties available for this section.<br/><br/>" pnl.Controls.Add(lbl) End If lc = New LiteralControl() lc.Text = " " pnl.Controls.Add(lc) End SubSub rbtnUpdateProperties_Click(ByVal sender As Object, ByVal e As System.EventArgs) Dim pnl As Panel = rwinProperties.ContentContainer.FindControl("pnlDialog") For Each Ctl As Control In pnl.Controls If Ctl.ID.StartsWith("ddl") Then Dim ddl As DropDownList = CType(Ctl, DropDownList) Dim name As String = ddl.ID Dim value As String = ddl.SelectedValue Dim fields() As String = name.Split("_") AddToProperties(fields(1), fields(3), fields(5), name, value) ElseIf Ctl.ID.StartsWith("lbx") Then Dim lbx As ListBox = CType(Ctl, ListBox) Dim name As String = lbx.ID Dim value As String = GetListBoxSelectedValues(lbx) Dim fields() As String = name.Split("_") AddToProperties(fields(1), fields(3), fields(5), name, value) ElseIf Ctl.ID.StartsWith("tb") Then Dim tb As TextBox = CType(Ctl, TextBox) Dim name As String = tb.ID Dim value As String = tb.Text Dim fields() As String = name.Split("_") AddToProperties(fields(1), fields(3), fields(5), name, value) ElseIf Ctl.ID.StartsWith("tbml") Then Dim tb As TextBox = CType(sender, TextBox) Dim name As String = tb.ID Dim value As String = tb.Text Dim fields() As String = name.Split("_") AddToProperties(fields(1), fields(3), fields(5), name, value) End If Next UpdateZone()End Sub<telerik:RadWindow runat="server" ID="rwinProperties" Modal="true" Height="450" Width="550" Title="Panel Properties" CssClass="RadWindow" > <ContentTemplate> <telerik:RadButton id="rbtnUpdateProperty" runat="server" Text="Update" EnableEmbeddedSkins="false" Skin="SOD_SKIN" AutoPostBack="true" OnClick="rbtnUpdateProperties_Click" /> <telerik:RadButton id="rbtnClosePropertyWindow" runat="server" Text="Cancel" EnableEmbeddedSkins="false" Skin="SOD_SKIN" /> </ContentTemplate></telerik:RadWindow>