We use cookies to give you the best experience on our website. If you continue to browse, then you agree to our privacy policy and cookie policy. (Last updated on : Nov 16th 2018).
Unfortunately, activation email could not send to your email. Please try again.
Syncfusion Feedback

Add autocomplete for grid search and autocomplete selected in the grid does not work

Thread ID:

Created:

Updated:

Platform:

Replies:

131679 Jul 23,2017 11:36 AM UTC Jul 28,2017 03:25 PM UTC ASP.NET MVC 5
loading
Tags: Grid
Andre
Asked On July 23, 2017 11:36 AM UTC

Hello 
I need help
1) Add autocomplete for grid search
2) The autocomplete selected in the grid does not work when performing dynamic calls on the server. The rest of everything works fine (sorting, filtering, searching)
screenshot: https://prnt.sc/fz6r16

[in controller]
public JsonResult GetDataCar(DataManager dm)
        {
            IEnumerable data1 = GetData();
            DataOperations operation = new DataOperations();
            if (dm.Search != null && dm.Search.Count > 0) //Searching
            {
                data1 = operation.PerformSearching(data1, dm.Search);
            }
            if (dm.Sorted != null && dm.Sorted.Count > 0) //Sorting
            {
                data1 = operation.PerformSorting(data1, dm.Sorted);
            }
            if (dm.Where != null && dm.Where.Count > 0) //Filtering
            {
                data1 = operation.PerformWhereFilter(data1, dm.Where, dm.Where[0].Operator);
            }
            int count = data1.Cast<CarsList>().Count();
            if (dm.Skip != 0)
            {
                data1 = operation.PerformSkip(data1, dm.Skip);
            }
            if (dm.Take != 0)
            {
                data1 = operation.PerformTake(data1, dm.Take);
            }
            return Json(new { result = data1, count = count }, JsonRequestBehavior.AllowGet); 
        }

[in view]
@(Html.EJ().Grid<object>("Grid")
            .Datasource(ds => ds.URL(Url.Action("GetDataCar")).Adaptor(AdaptorType.UrlAdaptor))
            .AllowSorting()
            .AllowSearching()
            .ToolbarSettings(toolbar => { toolbar.ShowToolbar().ToolbarItems(items => { items.AddTool(ToolBarItems.Search); }); })
            .AllowPaging()
            .PageSettings(page => page.PageSize(20).PageCount(5))
            .AllowFiltering()
            .FilterSettings(filter => { filter.FilterType(FilterType.Menu); })
            .Columns(col =>
            {
                col.Field("text").HeaderText("text").TextAlign(TextAlign.Right).Add();
                col.Field("company").HeaderText("company").TextAlign(TextAlign.Right).Add();
            })
        )

Thavasianand Sankaranarayanan [Syncfusion]
Replied On July 24, 2017 12:51 PM UTC

Hi Andre, 

Thanks for contacting Syncfusion support. 

We have analyzed your query and we are able to reproduce the reported issue “Autcomplete search values return no suggestion to display” from our end with your given code example.  

To avoid this issue,  we need to check the condition with the RequiresCounts  from the parameter of DataManager and return only data. 

Refer the below code example. 


public ActionResult DataSource(DataManager dm) 
        { 
            IEnumerable DataSource = new NorthwindDataContext().OrdersViews.ToList(); 
            DataResult result = new DataResult(); 
            DataOperations operation = new DataOperations(); 
            result.result = DataSource; 
             
            --------- 
 
            result.count = result.result.AsQueryable().Count(); 
 
            if (dm.RequiresCounts) 
                return Json(result, JsonRequestBehavior.AllowGet); 
            else 
                return Json(result.result, JsonRequestBehavior.AllowGet); // return only data, when RequiresCounts is set as false 
        } 


We have prepared a sample and it can be downloadable from the below location. 


If we misunderstood your query then please get back to us. 

Regards, 
Thavasianand S. 


Andre
Replied On July 25, 2017 06:20 AM UTC

Thanks for the quick response.

Everything works perfectly.

But one of the questions remained unanswered.

How do I add auto-complete for a table search?


Thavasianand Sankaranarayanan [Syncfusion]
Replied On July 26, 2017 01:25 PM UTC

Hi Andre, 

Sorry for the inconvenience caused. 

We have analyzed your query and we suspect that you want have external autocomplete search box for a particular column in Grid. 

We have achieved the same by using the search() method of ejGrid control, with the external button click event. 

Refer the below code example. 


<div> 
       @{ 
            Html.EJ() 
                .Autocomplete("selectCustomerID") 
                .EnableAutoFill(true) 
                .Datasource(ds => ds.URL("/Grid/DataSource").Adaptor(AdaptorType.UrlAdaptor)) 
                .WatermarkText("Select a CustomerID") 
                .Query("ej.Query()").AutocompleteFields(af => af.Text("CustomerID")).Width("300") 
                .FilterType(FilterOperatorType.Contains) 
                .Render(); 
        } 
        <input type="button" value="ClickToSearch" onclick="Searching()" />         
    </div> 
@(Html.EJ().Grid<object>("FlatGrid") 
        --------- 
         
         .AllowPaging()    /*Paging Enabled*/ 
              .AllowSearching() 
        .Columns(col => 
        { 
            ------------- 
 
        })) 
</div> 
<script type="text/javascript"> 
    function Searching()  
         // Create a grid object. 
        var gridObj = $("#FlatGrid").ejGrid("instance"); 
         // create a send request to the grid 
        gridObj.search($("#selectCustomerID").val()) 
         
    } 
</script> 




We have prepared a sample and it can be downloadable from the below location. 


Refer the help documentation. 



Regards, 
Thavasianand S. 


Andre
Replied On July 27, 2017 02:20 PM UTC

Thanks for the help, in my project I did exactly that. But I thought there might be some other way to implement this feature


Thavasianand Sankaranarayanan [Syncfusion]
Replied On July 28, 2017 03:25 PM UTC

Hi Andre, 

We suggest you to use the search feature in the custom toolbar item of ejGrid control. We have render the ejAutocomplete box in the custom toolbar. 

Refer the below code example. 

[GridFeatures.cshtml] 

@(Html.EJ().Grid<OrdersView>("FlatGrid") 
   .Datasource(ds => ds.URL("/Grid/DataSource").Adaptor(AdaptorType.UrlAdaptor)) 
 
   --------- 
 
  .ToolbarSettings(toolbar => 
      { 
         toolbar.ShowToolbar(true).CustomToolbarItems(new List<object>() { new Syncfusion.JavaScript.Models.CustomToolbarItem() { TemplateID = "#Search" }, new Syncfusion.JavaScript.Models.CustomToolbarItem() { TemplateID = "#button" } }); 
      }) 
    
   .AllowSearching() 
   .ClientSideEvents(cevent => cevent.ActionComplete("complete").ToolbarClick("toolbarclick")) 
   .Columns(col => 
            { 
                -------- 
           }) 
    ) 
</div> 
 
<script id="Search" type="text/x-jsrender"> 
    <input /> 
</script> 
<script id="button" type="text/x-jsrender"> 
    <input type="button" value="ClearSearch" /> 
</script> 
 
<script type="text/javascript"> 
 
    function complete(args) { 
 
        var dataManager = ej.DataManager({ url: "/Grid/DataSource", adaptor: new ej.UrlAdaptor() }); 
 
        $("#FlatGrid_Search input").ejAutocomplete({ dataSource: dataManager, fields: { text: "CustomerID" }, select: "searchingText" }); 
 
    } 
 
    function toolbarclick(args) { 
 
        if (args.itemName != "Search") { 
            var gridObj = $("#FlatGrid").ejGrid('instance'); 
            gridObj.clearSearching(); 
        } 
    } 
 
    function searchingText(args) { 
 
        var gridObj = $("#FlatGrid").ejGrid('instance'); 
        gridObj.search($("#FlatGrid_Search input").val()); 
    } 
 
</script> 




We have prepared a sample and it can be downloadable from the below location. 


For more information about custom toolbar items. Please refer the following knowledge base link. 


Refer the help documentation. 




Regards, 
Thavasianand S. 


CONFIRMATION

This post will be permanently deleted. Are you sure you want to continue?

Sorry, An error occured while processing your request. Please try again later.

Warning Icon You are using an outdated version of Internet Explorer that may not display all features of this and other websites. Upgrade to Internet Explorer 8 or newer for a better experience.Close Icon

;