|
[Gridfeatures.cshtml]
<input type="text" id="OrderID" placeholder="Enter OrderID" />
<br /><br />
<input type="text" id="EmployeeID" placeholder="Enter EmployeeID" />
<br /><br />
@Html.EJ().DropDownList("customersList").Datasource((IEnumerable<object>)ViewBag.datasource).DropDownListFields(df => df.Text("ShipCity").Value("ShipCity"))
<br /><br />
<input type="button" id="Search" value="Search" onclick="Seacrhing()"> </input>
<br />
<br/>
@(Html.EJ().Grid<OrdersView>("FlatGrid")
---
.AllowFiltering()
.FilterSettings(filter => filter.FilterType(FilterType.Excel))
.AllowSearching()
.Columns(col =>
{
---
})
)
</div>
<script type="text/javascript">
function Seacrhing(args) {
var orderID = $("#OrderID").val();
var employeeID = $("#EmployeeID").val();
var dropObj = $("#customersList").ejDropDownList('instance');
var shipCity = dropObj.getSelectedValue();
var gridObj = $("#FlatGrid").ejGrid('instance');
gridObj.filterColumn([
{ field: "OrderID", operator: "equal", matchcase: false, predicate: "or", value: orderID },
{ field: "EmployeeID", operator: "equal", matchcase: false, predicate: "or", value: employeeID },
{ field: "ShipCity", operator: "equal", matchcase: false, predicate: "or", value: shipCity }
])
}
</script>
|
Thank you so much for your reply.
It's working like a charm!
One more question please,
I noticed the parameters being passed to the DataManager predicates object get cached for unknown reason. e.g. When filtering the data in grid by OrderID, the data result will be displayed based on OrderID value BUT if you clear OrderID input and filter data using EmployeeID, the data result will be retrieved based on on BOTH OrderID value (which already has been cleared) and EmployeeID which results invalid data retrieval.
Is there any way to reset DataManager after each search
public JsonResult DataSource(DataManager dm)
|
<script type="text/javascript">
function Seacrhing(args) {
---
var gridObj = $("#FlatGrid").ejGrid('instance');
gridObj.model.filterSettings.filteredColumns = [];//add these lines
gridObj._excelFilter._predicates = [];//add these lines
gridObj.filterColumn([
{ field: "OrderID", operator: "equal", matchcase: false, predicate: "and", value: orderID },
{ field: "EmployeeID", operator: "equal", matchcase: false, predicate: "and", value: employeeID },
{ field: "ShipCity", operator: "equal", matchcase: false, predicate: "and", value: shipCity }
])
}
</script>
|