Hi,
GroupCheckbox widget is created on client side and server knows nothing about this widget.
So, don't try to get this control on server side.
In according to the details that I provided a solution can look something like this.
Example WindowEditor.ascx
<%@ Control Language="C#" %>
<%@ Register Assembly="Coolite.Ext.Web" Namespace="Coolite.Ext.Web" TagPrefix="ext" %>
<script runat="server">
public static List<string> ids = new List<string>();
[AjaxMethod]
public void OpenWindow(int count)
{
string[] checkboxIds = new string[count];
bool[] checkeds = new bool[count];
ids.Clear();
for (int i = 0; i < count; i++)
{
var id = "NewCheckbox" + (i + 1);
checkboxIds[i] = id;
checkeds[i] = (i % 2) == 0;
ids.Add(id);
}
string jsonCheckboxIds = JSON.Serialize(checkboxIds);
string jsonCheckeds = JSON.Serialize(checkeds);
ScriptManager.GetInstance(this.Context).AddScript("openDetailsWindow({0}, {1})", jsonCheckboxIds, jsonCheckeds);
}
protected void TestHandler(object sender, AjaxEventArgs e)
{
bool[] checkeds = new bool[ids.Count];
int i = 0;
foreach (var id in ids)
{
checkeds[i++] = !String.IsNullOrEmpty(this.Request[id]);
}
string result = "";
foreach (var c in checkeds)
{
result += c + " ";
}
Ext.Msg.Alert("AjaxEvent", result).Show();
}
</script>
<script type="text/javascript">
var openDetailsWindow = function(checkboxIds, checkeds) {
var cfg = {
id: "Group1",
renderTo: TabGroup.body,
itemCls: "x-form-cb-label-nowrap",
items: [],
columns: 1
};
for (var i = 0; i < checkboxIds.length; i++) {
var id = checkboxIds[i],
checked = checkeds[i];
cfg.items.push({
id: id,
xtype: "checkbox",
inputValue: id,
boxLabel: id,
checked: checked
});
}
var group = Ext.getCmp("Group1");
if (group) {
group.destroy();
}
WindowEditor1_Window1.show();
new Ext.form.CheckboxGroup(cfg);
}
</script>
<ext:Window ID="Window1" runat="server" Title="Details" Width="400" Height="400"
ShowOnLoad="false">
<Body>
<ext:FitLayout runat="server">
<ext:TabPanel runat="server" DeferredRender="false">
<Tabs>
<ext:Tab runat="server" Title="Some title" Html="Some content" />
<ext:Tab
ID="TabGroup"
runat="server"
Title="CheckboxGroup"
IDMode="Explicit">
<Body>
<ext:Button runat="server" Text="Get checkboxes">
<AjaxEvents>
<Click OnEvent="TestHandler" />
</AjaxEvents>
</ext:Button>
</Body>
</ext:Tab>
</Tabs>
</ext:TabPanel>
</ext:FitLayout>
</Body>
</ext:Window>