content of the "s" variable when the Exception is thrown
"{\"filter\":\"[{\\\"type\\\":\\\"string\\\",\\\"value\\\":\\\"08107\\\",\\\"field\\\":\\\"KODU\\\"},{\\\"type\\\":\\\"numeric\\\",\\\"comparison\\\":\\\"eq\\\",\\\"value\\\":3247,\\\"field\\\":\\\"OGRELEMANIKODU\\\"}]\"}"
button
<ext:Button ID="Button3" runat="server" Icon="Printer" Text="Yazdır">
<DirectEvents>
<Click OnEvent="yazdir">
<ExtraParams>
<ext:Parameter Name="gridFilters" Value="#{GridPanel1}.getFilterPlugin().buildQuery(#{GridPanel1}.getFilterPlugin().getFilterData())" Mode="Raw" Encode="true" />
</ExtraParams>
</Click>
</DirectEvents>
</ext:Button>
protected void yazdir(object sender, DirectEventArgs e)
{
string s = e.ExtraParams["gridFilters"];
//-- start filtering ------------------------------------------------------------
if (!string.IsNullOrEmpty(s))
{
FilterConditions fc = new FilterConditions(s);
foreach (FilterCondition condition in fc.Conditions)
{
Comparison comparison = condition.Comparison;
string field = condition.Field;
FilterType type = condition.Type;
object value;
switch (condition.Type)
{
case FilterType.Boolean:
value = condition.Value<bool>();
break;
case FilterType.Date:
value = condition.Value<DateTime>();
break;
case FilterType.List:
value = condition.List;
break;
case FilterType.Numeric:
value = condition.Value<int>();
break;
case FilterType.String:
value = condition.Value<string>();
break;
default:
throw new ArgumentOutOfRangeException();
}
}
}
gridfilter
<Features>
<ext:GridFilters runat="server" ID="GridFilters1" Local="true">
<Filters>
<ext:StringFilter DataIndex="KODU"/>
<ext:NumericFilter DataIndex="OGRELEMANIKODU"></ext:NumericFilter>
</Filters>
</ext:GridFilters>
</Features>