La cuadrícula de Kendo Ui no vuelve a unirse después de hacer clic en el botón de búsqueda

Tengo dificultades para que la cuadrícula de Kendo Ui no se vuelva a unir con un nuevo resultado después de hacer clic en el botón Buscar. Por favor, hágame saber cómo podría lograrlo. Gracias

Actualmente, GetList devolverá los datos correctamente, sin embargo, la cuadrícula de KendoUi no se volverá a enlazar con el nuevo resultado.

.cshtml

<div id="search">

        <div>
            <div class="searchOption">
                @Html.LabelFor(model => model.HRN)
                @Html.EditorFor(model => model.HRN)
            </div>

        </div>

        <div>

            <div class="smallBox">
                 <input type="button" id="btnSearch" style="height:32px; font-size:14px; background-color:#3399FF" class="k-button" title="Search" value="Search" />

            </div>

        </div>
        <div>
            <div class="searchOption">
                @Html.LabelFor(model => model.FamilyName)
                @Html.EditorFor(model => model.FamilyName)
            </div>

        </div>

        <div>
            <div class="searchOption">
                @Html.LabelFor(model => model.GivenName)
                @Html.EditorFor(model => model.GivenName)

            </div>

        </div>
        <div>
             <div class="searchOption">
                @Html.LabelFor(model => model.Priority)
                @Html.EditorFor(model => model.Priority)
            </div>

        </div>

</div>

@(Html.Kendo().Grid<PWeb_App.ViewModels.ResultModel>()

        .Name("Result")
        .HtmlAttributes(new { @Style = "align:center; font-size:10px; width:985px" })
        .Events(ev => ev.Change("onChange"))
        .Columns(columns =>
        {
            columns.Bound(p => p.GivenName).Width(90);
            columns.Bound(p => p.FamilyName).Width(90);
            columns.Bound(p => p.Community).Width(130);

        })
        .ToolBar(toolbar => toolbar.Save())
        .Editable(editable => editable.Mode(GridEditMode.InCell))
        .Sortable()

        .Pageable(paging => paging
            .Input(false)
            .Numeric(true)

            .PreviousNext(true)
            .PageSizes(new int[] { 5, 10, 25, 50 })
            .Refresh(false)

        )

        .Selectable()
        .Scrollable()
        .ColumnMenu(c => c.Columns(false))
        .DataSource(dataSource => dataSource

            .Ajax()//bind with Ajax instead server bind
            .PageSize(10)
            .ServerOperation(true)
                .Model(model =>
                {
                    model.Id(p => p.Pid);
                    model.Field(p => p.FamilyName).Editable(false);
                    model.Field(p => p.GivenName).Editable(false);



                })


                        .Read(read => read.Action("GetData", "Details").Type(HttpVerbs.Get))
                        .Update("Edit", "Details")

            )

    )


<script type="text/javascript">
$(document).ready(function () {

$('#btnConsumerSearch').click(function (e){

            var community = $("#Community").val();
            var familyName = $("#FamilyName").val();
            var givenName = $("#GivenName").val();


                $.ajax({
                type: 'POST',
                complete: function(e) {
                        $("#Result").data("kendoGrid").dataSource.read(); 
                },

                url: "@(Url.Content("~/Details/GetData/"))",
                data: {

                        "Community":community,
                        "FamilyName":familyName,
                        "GivenName":givenName


                },

                success: function () {
                    $("#btnSearch").removeAttr('disabled');

                }

                });
                $("#btnSearch").attr('disabled','disabled');


      });

});
</script>

controlador:

// El siguiente código devolverá el nuevo resultado de los datos como se esperaba, sin embargo, la cuadrícula de kendo no se actualiza con el resultado del siguiente código:

public ActionResult GetData([DataSourceRequest] DataSourceRequest request, SearchCriteria model)
        {
            DataTable result = GetList(model);
            Response.Cache.SetCacheability(HttpCacheability.NoCache);
            return Json(result.ToDataSourceResult(request), JsonRequestBehavior.AllowGet);
        }


        /// <summary>
        /// Get all available List from Client table and return using datatable
        /// </summary>
        /// <returns></returns>
        private DataTable GetList(SearchCriteria model, string ReferralListID)
        {
            using (PEntities context = new PEntities())
            {


                string ConnectionString = (context.Connection as EntityConnection).StoreConnection.ConnectionString;
                SqlConnectionStringBuilder builder = new SqlConnectionStringBuilder(ConnectionString);
                builder.ConnectTimeout = 2500;
                using (SqlConnection con = new SqlConnection(builder.ConnectionString))
                {
                    using (SqlDataAdapter adapter = new SqlDataAdapter())
                    {
                        using (SqlCommand cmd = new SqlCommand("spListResults", con))
                        {

                            cmd.CommandType = CommandType.StoredProcedure;

                            cmd.Parameters.Add("paramCommunity", SqlDbType.VarChar, 100).Value = !String.IsNullOrEmpty(model.Community) ? (object)model.Community : DBNull.Value;
                            cmd.Parameters.Add("paramGivenName", SqlDbType.VarChar, 100).Value = !String.IsNullOrEmpty(model.GivenName) ? (object)model.GivenName : DBNull.Value;
                            cmd.Parameters.Add("paramFamilyName", SqlDbType.VarChar, 100).Value = !String.IsNullOrEmpty(model.FamilyName) ? (object)model.FamilyName : DBNull.Value;
                            cmd.Parameters.Add("paramPriority", SqlDbType.VarChar, 10).Value = !String.IsNullOrEmpty(model.Priority) ? (object)model.Priority : DBNull.Value;

                            adapter.SelectCommand = cmd;
                            cmd.CommandTimeout = 0;
                            DataTable dt = new DataTable();
                            adapter.Fill(dt);
                            return dt;
                        }
                    }
                }




            }

        }