I have a screen that contains a Radgrid. In this radgrid I have three filterTemplates that use a Radcombobox, and a GridNumericColumn for filtering.
It works fine when I filter on only one column but when I try want to filter by more than one it only filters on the current column. I have changed the code behind to save the current filter and add the changes to it, the problem is I need to remove the existing filter and rebuild it based on the values from the selected filters.
Is there a way I can iterate through the columns, get the values of the selected filter and build a filter string.
It works fine when I filter on only one column but when I try want to filter by more than one it only filters on the current column. I have changed the code behind to save the current filter and add the changes to it, the problem is I need to remove the existing filter and rebuild it based on the values from the selected filters.
<telerik:RadGrid ID="RadGrid1" runat="server" AllowPaging="True" EnableLinqExpressions="false" PageSize="25" AutoGenerateColumns="False" GridLines="None" AllowSorting="True" AllowFilteringByColumn="true" AlternatingItemStyle-BackColor="#eeeeee" ShowStatusBar="True" OnItemCreated="RadGrid1_ItemCreated" OnPreRender="RadGrid1_PreRender" OnNeedDataSource="RadGrid1_NeedDataSource" OnItemDataBound="RadGrid1_ItemDataBound" OnInsertCommand="RadGrid1_InsertCommand" OnUpdateCommand="RadGrid1_UpdateCommand" Width="100%"> <PagerStyle AlwaysVisible="true" Mode="NextPrevAndNumeric" /> <MasterTableView CommandItemDisplay="Top" DataKeyNames="AuditID" EditMode="InPlace"> <AlternatingItemStyle BackColor="#EEEEEE"></AlternatingItemStyle> <Columns> <telerik:GridEditCommandColumn UniqueName="EditCommandColumn" HeaderStyle-Width="50px" /> <telerik:GridTemplateColumn HeaderText="Branch" DataField="CRDBranchNumber" SortExpression="" UniqueName="CRDBranchNumber" HeaderStyle-Width="160px"> <FilterTemplate> <telerik:RadComboBox ID="rcbBranch" DataTextField="CRDBranchNumber" DataValueField="CRDBranchNumber" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("CRDBranchNumber").CurrentFilterValue %>' runat="server" AutoPostBack="true" OnSelectedIndexChanged="BranchCombo_SelectedIndexChanged" /> </FilterTemplate> <ItemTemplate> <asp:Label runat="server" ID="lbCRDBranchNumber" Text='<%# Eval("CRDBranchNumber") %>' /> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="rcbCRDBranchNumber" DataTextField="CRDBranchNumber" DataValueField="CRDBranchNumber" runat="server" Width="115px" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator1" ControlToValidate="rcbCRDBranchNumber" ErrorMessage="*" runat="server" ToolTip="Branch is Required" InitialValue="Select Branch" ForeColor="Red" /> <asp:Label runat="server" ID="ldID" Visible="false" Text='<%# Eval("CRDBranchNumber") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridTemplateColumn HeaderText="Auditor" DataField="AuditorName" SortExpression="" UniqueName="AuditorName" HeaderStyle-Width="225px"> <FilterTemplate> <telerik:RadComboBox ID="rcbAuditor" DataTextField="AuditorName" DataValueField="AuditorName" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("AuditorName").CurrentFilterValue %>' runat="server" AutoPostBack="true" OnSelectedIndexChanged="AuditorCombo_SelectedIndexChanged" /> </FilterTemplate> <ItemTemplate> <asp:Label runat="server" ID="lbAuditor" Text='<%# Eval("AuditorName") %>' /> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="rcbAuditor" DataTextField="AuditorName" DataValueField="AuditorID" runat="server" Width="175px" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator2" ControlToValidate="rcbAuditor" ErrorMessage="*" runat="server" ToolTip="Auditor is Required" InitialValue="Select Auditor" ForeColor="Red" /> <asp:Label runat="server" ID="ldAuditorID" Visible="false" Text='<%# Eval("AuditorID") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> <telerik:GridNumericColumn DataField="AuditYear" HeaderText="Audit Year" SortExpression="AuditYear" UniqueName="AuditYear" DataType="System.Decimal" DataFormatString="{0:F0}" /> <telerik:GridDateTimeColumn SortExpression="ScheduledDate" DataField="ScheduledDate" HeaderText="Scheduled" DataType="System.DateTime" DataFormatString="{0:MM/dd/yyyy}" AllowFiltering="false" HeaderStyle-Width="100px" UniqueName="ScheduledDate" /> <telerik:GridDateTimeColumn SortExpression="CompletedDate" DataField="CompletedDate" HeaderText="Completed" DataType="System.DateTime" DataFormatString="{0:MM/dd/yyyy}" AllowFiltering="false" HeaderStyle-Width="100px" UniqueName="CompletedDate" /> <telerik:GridTemplateColumn HeaderText="Status" DataField="Status" SortExpression="" UniqueName="Status" HeaderStyle-Width="195px"> <FilterTemplate> <telerik:RadComboBox ID="rcbStatus" DataTextField="Status" DataValueField="Status" AppendDataBoundItems="true" SelectedValue='<%# ((GridItem)Container).OwnerTableView.GetColumn("Status").CurrentFilterValue %>' runat="server" AutoPostBack="true" OnSelectedIndexChanged="StatusCombo_SelectedIndexChanged" /> </FilterTemplate> <ItemTemplate> <asp:Label runat="server" ID="lblStatus" Text='<%# Eval("Status") %>' /> </ItemTemplate> <EditItemTemplate> <telerik:RadComboBox ID="rcbStatus" DataTextField="Status" DataValueField="AuditStatusID" runat="server" Width="150px" /> <asp:RequiredFieldValidator ID="RequiredFieldValidator3" ControlToValidate="rcbStatus" ErrorMessage="*" runat="server" ToolTip="Status is Required" InitialValue="Select Status" ForeColor="Red" /> <asp:Label runat="server" ID="lbAuditStatusID" Visible="false" Text='<%# Eval("AuditStatusID") %>' /> </EditItemTemplate> </telerik:GridTemplateColumn> </Columns> <EditFormSettings> <EditColumn InsertText="Insert Audit" UpdateText="Update Audit" UniqueName="EditCommandColumn1" CancelText="Cancel edit"> </EditColumn> </EditFormSettings> </MasterTableView> </telerik:RadGrid>Is there a way I can iterate through the columns, get the values of the selected filter and build a filter string.