Hi
I have radgrid with custom filtering:
Code behinde:
everything works fine until I set the filter and call out rejection - invalid postback or callback argument. where making a mistake?
I have radgrid with custom filtering:
<script type="text/javascript">function IconsComboBoxChanging(sender, eventArgs) { var item = eventArgs.get_item(); if (item != null) { var input = sender.get_inputDomElement(); input.value = ""; input.defaultValue = ""; } }function DropDownFilterLoad(sender) { sender.set_text(""); var itm = sender.get_items(); var selected = itm.getItem(sender._selectedIndex); var img = selected.get_imageUrl(); var input = sender.get_inputDomElement(); SetBackground(input, img); }</script><telerik:RadGrid ID="RadGrid1" runat="server" AllowFilteringByColumn="true" OnNeedDataSource="CorrectionsGrid_NeedDataSource" [...]>[...] <Columns> <telerik:GridTemplateColumn UniqueName="CorrectStatus" HeaderText="Status" HeaderStyle-Width="55px" Resizable="false" DataField="CorrectionAcceptState"> <ItemTemplate> <asp:Image [...] /> </ItemTemplate> <FilterTemplate> <telerik:RadComboBox ID="StatusFiletCB" Width="45px" AppendDataBoundItems="true" DropDownWidth="205px" NoWrap="true" runat="server" OnSelectedIndexChanged="CorrectStatusFilterChange" AutoPostBack="true" AllowCustomText="false" OnClientSelectedIndexChanged="IconsComboBoxChanging" OnClientLoad="DropDownFilterLoad"> <Items> <telerik:RadComboBoxItem Value="0"[...] /> <telerik:RadComboBoxItem Value="1"[...] /> <telerik:RadComboBoxItem Value="2" [...] /> </Items> </telerik:RadComboBox> </FilterTemplate> </telerik:GridTemplateColumn>
<telerik:GridTemplateColumn AllowFiltering="false" UniqueName="ActionColumn" HeaderText="" HeaderStyle-Width="60px"
Resizable="false" Visible="false">
<ItemTemplate>
<asp:ImageButton CommandName="Reject" runat="server" CommandArgument='<%# Eval("CorrId") %>' Visible='<%# this.IsUserAllowedToAccept() %>' [...] />
</ItemTemplate>
</telerik:GridTemplateColumn>
[...] </Columns></telerik:RadGrid>Code behinde:
protected void CorrectionsGrid_NeedDataSource(object sender, Telerik.Web.UI.GridNeedDataSourceEventArgs e){ CorrectionsGrid.DataSource = new MyDataContext().Corrections;}private int? GetValueOfCorrectionAcceptStateFilter(){ var regSearch = Regex.Match(CorrectionsGrid.MasterTableView.FilterExpression, @".*\(it\.CorrectionAcceptState = (?<filterVal>[1-3])\).*"); if (regSearch.Success) return Int32.Parse(regSearch.Groups["filterVal"].Value); else return null;}protected void CorrectStatusFilterChange(object o, RadComboBoxSelectedIndexChangedEventArgs e){ string filterExpression = CorrectionsGrid.MasterTableView.FilterExpression; var currentcFilter = GetValueOfCorrectionAcceptStateFilter(); if (currentcFilter.HasValue) filterExpression = filterExpression.Replace("(it.CorrectionAcceptState = " + currentcFilter.Value + ")", string.Empty); if (Int32.Parse(e.Value) > 0) filterExpression = (filterExpression.Trim().Length > 0 ? filterExpression + " AND " : "") + "(it.CorrectionAcceptState = " + e.Value + ")"; CorrectionsGrid.MasterTableView.FilterExpression = filterExpression; CorrectionsGrid.MasterTableView.Rebind();}everything works fine until I set the filter and call out rejection - invalid postback or callback argument. where making a mistake?