February 23, 2016

Create Custom DropList In Sitecore WFFM

Sample code for custom DropDownList in WFFM.

public class CustomDropListStateProvPicker : Sitecore.Form.Web.UI.Controls.DropList
   
{

       
private string _initiallySelectedStateProv;

       
[VisualCategory("Initial Selection")]
       
[VisualFieldType(typeof(TextAreaField)), Localize]
       
[VisualProperty("Initial Selection:", 100)]
       
public string InitialSelection { get; set; }

       
protected override void InitItems(Sitecore.Form.Web.UI.Controls.ListItemCollection items)
       
{
           
this.KeepHiddenValue = false;

            items
= new Sitecore.Form.Web.UI.Controls.ListItemCollection();

            OrderedDictionary dictionaryStateProvs
= GetStateProvs();

           
foreach (DictionaryEntry stateprov in dictionaryStateProvs)
           
{
                items
.Add(new ListItem() { Value = (string)stateprov.Key, Text = (string)stateprov.Value });

               
if ((string)stateprov.Value == InitialSelection)
               
{
                    _initiallySelectedStateProv
= (string)stateprov.Key;
               
}
           
}
           
base.InitItems(items);
       
}

       
protected override void DoRender(HtmlTextWriter writer)
       
{
           
if (!string.IsNullOrEmpty(_initiallySelectedStateProv))
           
{
                droplist
.SelectedValue = _initiallySelectedStateProv;
           
}
           
base.DoRender(writer);
       
}

       
private OrderedDictionary GetStateProvs()
       
{
           
// Your custom logic for state binding.
            return dictionaryStateProvs;

       
}
   
}


No comments:

Post a Comment