Jan 24, 2012, 4:37 AM
[CLOSED] Manual filter sample
Hi,
I have added manual paging and sorting concept using IQuerable concept. I dont know how to add manual filter option. please help on this manual filter concept.
can you provide sample code for manual filter option?
I have added manual paging and sorting concept using IQuerable concept. I dont know how to add manual filter option. please help on this manual filter concept.
can you provide sample code for manual filter option?
<%@ Page Language="C#" %>
<%@ Import Namespace="System.Collections.Generic" %>
<%@ Import Namespace="System.Xml" %>
<%@ Import Namespace="System.Diagnostics" %>
<%@ Import Namespace="DAL" %>
<%@ Register Assembly="Ext.Net" Namespace="Ext.Net" TagPrefix="ext" %>
<script runat="server">
Host objHost = new Host();
protected void Store_RefreshData(object sender, StoreRefreshDataEventArgs e)
{
using (var db = new ClientDataContext())
{
IQueryable<uspOverAllFundTransactionSeekResult> data = db.uspOverAllFundTransactionSeek(0, "", "", "", null, null, string.Empty).AsQueryable();
e.Total = data.Count();
data = db.uspOverAllFundTransactionSeek(0, "", "", "", null, null, string.Empty).Skip(e.Start).Take(e.Limit).AsQueryable();
string s = e.Parameters[GridFilters1.ParamPrefix];
// need to add manual filter code
if (!string.IsNullOrEmpty(e.Sort))
{
data = ExtensionMethods.SortBy(data, e.Sort, e.Dir.ToString().ToUpper());
}
List<uspOverAllFundTransactionSeekResult> rangeData = data.ToList();
var limit = e.Limit;
if ((e.Start + e.Limit) > rangeData.Count())
{
limit = rangeData.Count() - e.Start;
}
this.GridPanel1.GetStore().DataSource = rangeData;
}
}
protected void RefineSearch_Click(object sender, DirectEventArgs e)
{
//Store1.reload();
// how to set store total record count e.Total = data.Count();
}
</script>
<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN"
"http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">
<html xmlns="http://www.w3.org/1999/xhtml">
<head id="Head1" runat="server">
<title>INTL Example</title>
</head>
<body>
<form id="Form1" runat="server">
<ext:ResourceManager ID="ResourceManager1" runat="server" />
<ext:GridPanel ID="GridPanel1" runat="server" AutoHeight="true">
<Store>
<ext:Store ID="Store1" RemoteSort="true" RemoteGroup="true" runat="server" OnRefreshData="Store_RefreshData">
<Proxy>
<ext:PageProxy />
</Proxy>
<Reader>
<ext:JsonReader>
<Fields>
<ext:RecordField Name="FXID" Type="Int" />
<ext:RecordField Name="BuyCurrency" Type="String" />
<ext:RecordField Name="BuyAmount" Type="Float" />
<ext:RecordField Name="SellCurrency" Type="String" />
<ext:RecordField Name="SellAmount" Type="Float" />
<ext:RecordField Name="Requester" Type="String" />
<ext:RecordField Name="ReqValueDate" Type="Date" />
<ext:RecordField Name="DeliveryName" Type="String" />
<ext:RecordField Name="RateEntered" Type="Float" />
<ext:RecordField Name="CreatedDate" Type="Date" />
<ext:RecordField Name="CancelStatus" Type="Int" />
<ext:RecordField Name="FocusTraderID" Type="String" />
<ext:RecordField Name="CompanyName" Type="String" />
<ext:RecordField Name="FocusID" Type="Int" />
<ext:RecordField Name="IsAttachedFile" Type="Int" />
</Fields>
</ext:JsonReader>
</Reader>
<BaseParams>
<ext:Parameter Name="start" Value="0" Mode="Raw" />
<ext:Parameter Name="limit" Value="10" Mode="Raw" />
</BaseParams>
</ext:Store>
</Store>
<ColumnModel ID="ColumnModel1" runat="server">
<Columns>
<ext:Column Header="Company" DataIndex="CompanyName" Align="Left" Sortable="true">
</ext:Column>
<ext:Column Header="FXID" DataIndex="FXID" Sortable="true" Align="Left">
</ext:Column>
<ext:Column Header="Attachement Dtl" DataIndex="FXID" MenuDisabled="true">
</ext:Column>
<ext:Column Header="Delivery Name" DataIndex="DeliveryName" Align="Left" Sortable="true">
</ext:Column>
<ext:Column Header="Sell Currency" ColumnID="BuyCurrency" DataIndex="BuyCurrency"
Align="Left" Sortable="true">
</ext:Column>
<ext:NumberColumn Header="Sell Amount" Format="0,000.00" DataIndex="BuyAmount" Sortable="true"
Align="Right">
</ext:NumberColumn>
<ext:Column Header="Buy Currency" DataIndex="SellCurrency" Align="Left" Sortable="true">
</ext:Column>
<ext:NumberColumn Header="Buy Amount" Format="0,000.00" DataIndex="SellAmount" Sortable="true"
Align="Right">
</ext:NumberColumn>
<ext:Column Header="Rate" DataIndex="RateEntered" Sortable="true" Align="Right">
</ext:Column>
<ext:Column Header="Requester" DataIndex="Requester" Align="Left" Sortable="true">
</ext:Column>
<ext:DateColumn Header="Created Date" Format="MMM dd, Y h:m:s A" DataIndex="CreatedDate"
Align="Left" Sortable="true">
</ext:DateColumn>
<ext:DateColumn Header="Req value Date" Format="MMM dd, Y" DataIndex="ReqValueDate"
Align="Left" Sortable="true">
</ext:DateColumn>
<ext:Column Header="INTL Trader ID" DataIndex="FocusTraderID" Align="Left" Sortable="true">
</ext:Column>
<ext:Column Header="Focus ID" DataIndex="FocusID" Align="Left" Sortable="true">
</ext:Column>
</Columns>
</ColumnModel>
<Plugins>
<ext:GridFilters ID="GridFilters1" runat="server">
<Filters>
<ext:StringFilter DataIndex="CompanyName" />
<ext:NumericFilter DataIndex="FXID" />
<ext:NumericFilter DataIndex="FXID" />
<ext:StringFilter DataIndex="DeliveryName" />
<ext:StringFilter DataIndex="BuyCurrency" />
<ext:NumericFilter DataIndex="BuyAmount" />
<ext:StringFilter DataIndex="SellCurrency" />
<ext:NumericFilter DataIndex="SellAmount" />
<ext:NumericFilter DataIndex="RateEntered" />
<ext:StringFilter DataIndex="Requester" />
<ext:DateFilter DataIndex="CreatedDate" />
<ext:DateFilter DataIndex="ReqValueDate" />
<ext:NumericFilter DataIndex="FocusTraderID" />
<ext:NumericFilter DataIndex="FocusID" />
</Filters>
</ext:GridFilters>
</Plugins>
<BottomBar>
<ext:PagingToolbar ID="PagingToolbar1" runat="server" PageSize="10" />
</BottomBar>
</ext:GridPanel>
<ext:ImageButton ID="imbSubmitApp" runat="server" SkinID="Submit" CausesValidation="true">
<DirectEvents>
<Click OnEvent="RefineSearch_Click">
</Click>
</DirectEvents>
</ext:ImageButton>
</form>
</body>
</html>
Last edited by Daniil; Jan 24, 2012 at 5:24 AM.
Reason: [CLOSED]