public IEnumerable<object> Render(PanelItem panelItem) { var textControl = new LinkButton { ID = panelItem.GetId(), Width = new Unit(panelItem.Width, UnitType.Ex), CssClass = "SmartPanelSelectItem" }; var textDisabledControl = new Label { ID = panelItem.GetId("lbl"), Width = new Unit(panelItem.Width, UnitType.Ex), CssClass = "SmartPanelSelectItemDisabled" }; var selectButton = new LinkButton { Text = ResourceManager.GetString("Select"), CssClass = "tinybutton", Visible = panelItem.Editable }; var clearButton = new LinkButton { Text = ResourceManager.GetString("Clear"), CssClass = "tinybutton" }; if (!panelItem.Optional || !panelItem.Editable) { clearButton.Visible = false; } textControl.AttachToolTip(panelItem); textDisabledControl.AttachToolTip(panelItem); var control = new SelectButtonControl(textControl, selectButton, clearButton, textDisabledControl); panelItem.Target = control; return new Control[] { textControl, textDisabledControl, selectButton, clearButton, PanelValidator.Create(panelItem) }; }