protected void RadGridAggressiveMatches_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridFilteringItem)
{
GridFilteringItem filteringItem = e.Item as GridFilteringItem;
//set dimensions for the filter textbox
TextBox box = filteringItem["Column1"].Controls[0] as TextBox;
box.Width = Unit.Pixel(50);
box = filteringItem["Column2"].Controls[0] as TextBox;
box.Width = Unit.Pixel(50);
box = filteringItem["Column3"].Controls[0] as TextBox;
box.Width = Unit.Pixel(175);
box = filteringItem["Column4"].Controls[0] as TextBox;
box.Width = Unit.Pixel(175);
box = filteringItem["Column5"].Controls[0] as TextBox;
box.Width = Unit.Pixel(175);
box = filteringItem["Column6"].Controls[0] as TextBox;
box.Width = Unit.Pixel(175);
box = filteringItem["Column7"].Controls[0] as TextBox;
box.Width = Unit.Pixel(15);
box = filteringItem["Column8"].Controls[0] as TextBox;
box.Width = Unit.Pixel(45);
}
}
<telerik:RadGrid ID="RadGridAggressiveMatches" runat="server" Width="1100px" Height="250px" DataMember="Aggressive Members"
GridLines="None"
AllowSorting="True"
ShowFooter="True"
Skin="Office2007"
AutoGenerateColumns="False"
AllowFilteringByColumn="True"
onitemcreated="RadGridAggressiveMatches_ItemCreated"
onselectedindexchanged="RadGridAggressiveMatches_SelectedIndexChanged"
onsortcommand="RadGridAggressiveMatches_SortCommand"
onneeddatasource="RadGridAggressiveMatches_NeedDataSource" >
<ClientSettings AllowColumnsReorder="True" ReorderColumnsOnClient="True" EnablePostBackOnRowClick="true">
<Selecting AllowRowSelect="True" />
<Scrolling AllowScroll="true" />
<Resizing AllowColumnResize="true" AllowRowResize="true" ResizeGridOnColumnResize="false" />
</ClientSettings>
<MasterTableView TableLayout="Fixed" AllowFilteringByColumn="true" >
<Columns>
<telerik:GridBoundColumn UniqueName="Column1" DataField="Column1" HeaderText="Column 1" DataType="System.Int32"
SortExpression="Column1" AllowFiltering="true" AutoPostBackOnFilter="false">
<HeaderStyle Width="75px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column2" DataField="Column2" HeaderText="Column 2" DataType="System.Int32" SortExpression="Column2">
<HeaderStyle Width="75px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column3" DataField="Column3" HeaderText="Column 3" DataType="System.String"
SortExpression="Column3">
<HeaderStyle Width="200px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column4" DataField="Column4" HeaderText="Column 4" DataType="System.String"
SortExpression="Column4">
<HeaderStyle Width="200px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column5" DataField="Column5" HeaderText="Column 5" DataType="System.String" SortExpression="Column5">
<HeaderStyle Width="200px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column6" DataField="Column6" HeaderText="Column 6" DataType="System.String" SortExpression="Column6">
<HeaderStyle Width="200px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridBoundColumn UniqueName="Column7" DataField="Column7" HeaderText="Col 7" DataType="System.Int32" SortExpression="Column7">
<HeaderStyle Width="40px" />
<ItemStyle Font-Bold="False" Font-Italic="False" Font-Overline="False"
Font-Strikeout="False" Font-Underline="False" Wrap="False" />
</telerik:GridBoundColumn>
<telerik:GridTemplateColumn UniqueName="Column8" HeaderText="Column 8" SortExpression="Column8">
<HeaderStyle Width="70px" />
<ItemTemplate>
<asp:RadioButtonList ID="RadionButtonListDecision" runat="server" RepeatDirection="Vertical">
<asp:ListItem Value="1" Text="Yes"></asp:ListItem>
<asp:ListItem Value="2" Text="No"></asp:ListItem>
</asp:RadioButtonList>
</ItemTemplate>
</telerik:GridTemplateColumn>
</Columns>
</MasterTableView>
<FilterMenu Skin="Office2007" EnableTheming="True">
<CollapseAnimation Type="OutQuint" Duration="200"></CollapseAnimation>
</FilterMenu>
</telerik:RadGrid>



Hi Telerik
We decided to use your new feature (Multi columns) in a RadGrid.
<telerik:GridCheckBoxColumn DataField="Image" HeaderText="Image" ColumnGroupName="Image" />
In our scenario we are dynamically adding controls to a header cell.
protected void RadGridImages_ItemCreated(object sender, GridItemEventArgs e)
{
if (e.Item is GridHeaderItem)
{
GridHeaderItem headeritem = (GridHeaderItem)e.Item;
CheckBox checkBox = new CheckBox();
checkBox.Checked = ShowAll;
checkBox.Text = "Show all";
checkBox.ID = "CheckBoxShowAll";
checkBox.AutoPostBack = true;
checkBox.CheckedChanged += new EventHandler(checkBox _CheckedChanged);
headeritem["ShowAll"].Text = "Show all";
headeritem["ShowAll"].Controls.Add(checkBox);
}
}
It works perfect without using the multi columns function. However, a problem by adding a control dynamically occurs. We have obtained this error:
“Specified argument was out of the range of valid values. Parameter name: index”
Is there any way to dynamically add control to header cell in case of using multi column function, please?
By removing the information about group and group definition, everything works perfect again. When we apply multi columns functionality and delete the functionality of dynamically control adding, everything works well too.
Thank you in advance for your advice.