Jun 14, 2011, 9:12 AM
How to get checkedItems of RadioGroup/CheckboxGroup during a postback
I try to use RadioGroup.CheckedItems for getting the checked item from client when it does a postback.
But I always get count equal to 0, could radiogroup be used this way ?
or I need use extra parameter to do that ?
ASPX
But I always get count equal to 0, could radiogroup be used this way ?
or I need use extra parameter to do that ?
ASPX
<ext:ResourceManager ID="ResourceManager1" runat="server">
</ext:ResourceManager>
<ext:FormPanel ID="FormPanel1" runat="server" ButtonAlign="Right" Height="300" Padding="5"
Title="Title" Width="300">
<Content>
<ext:RadioGroup ID="radioGroup01" runat="server">
</ext:RadioGroup>
<ext:CheckboxGroup ID="checkboxGroup01" runat="server">
</ext:CheckboxGroup>
<ext:Button ID="Button1" runat="server" Text="Submit">
<DirectEvents>
<Click OnEvent="Button1_OnClicked">
<EventMask ShowMask="true" MinDelay="100" />
</Click>
</DirectEvents>
</ext:Button>
<ext:Label ID="Label1" runat="server">
</ext:Label>
<ext:DisplayField ID="DisplayField1" runat="server">
</ext:DisplayField>
</Content>
</ext:FormPanel>
C# code public IList<TestDataItem> DemoDataSource { get; set; }
protected void Page_Load(object sender, EventArgs e)
{
DemoDataSource = getDemoData();
if (X.IsAjaxRequest == false)
{
initGroup();
}
}
private void initGroup()
{
radioGroup01.Vertical = true;
radioGroup01.ColumnsNumber = 1;
foreach (TestDataItem item in DemoDataSource)
{
Radio radio = new Radio();
radio.Checked = false;
radio.InputValue = item.ItemValue;
radio.BoxLabel = item.ItemText;
radioGroup01.Items.Add(radio);
Checkbox checkbox = new Checkbox(false, item.ItemText);
checkbox.InputValue = item.ItemValue;
checkboxGroup01.Items.Add(checkbox);
}
}
protected void Button1_OnClicked(object sender, DirectEventArgs args)
{
DisplayField1.Text = "Radio Checked Count:" + radioGroup01.CheckedItems.Count.ToString() + " Checkbox Checked Count:" + checkboxGroup01.CheckedItems.Count.ToString();
}
// for test
private IList<TestDataItem> getDemoData()
{
IList<TestDataItem> demoDataList = new List<TestDataItem>();
demoDataList.Add(new TestDataItem("XXXX", "0"));
demoDataList.Add(new TestDataItem("YYYY", "3"));
demoDataList.Add(new TestDataItem("ZZZZ", "4"));
return demoDataList;
}
public class TestDataItem
{
public string ItemValue { get; set; }
public string ItemText { get; set; }
public TestDataItem(string text, string value)
{
ItemValue = value;
ItemText = text;
}
}