【发布时间】:2022-02-10 04:05:38
【问题描述】:
每次我在任何列顶部的过滤框中键入一个字符时,我的 Ajax 读取方法(“_CustomBinding”)都会被调用 2 次。第一个调用在过滤器框之前填充类型,第二个调用刷新网格。我不希望网格刷新,直到在过滤器框中按下回车键,而不是在每次按键时。如何在过滤器框中的每次按键时禁用刷新网格的调用?
我有一个非常复杂的剑道网格。这只是其中的一部分:
@(Html.Kendo().Grid<ProspectiveAdvantage.ViewModels.MemberListingModel>().Name("Members").TableHtmlAttributes(new { @class = "tblPatient" })
.AutoBind(Model.AutoPopulateResults)
.Columns(columns =>
{
columns.Bound(theMember => theMember.LastName).Width(30).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false).MinLength(3).SuggestionOperator(FilterType.Contains)));
columns.Bound(theMember => theMember.FirstName).Width(30).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false).MinLength(3).SuggestionOperator(FilterType.Contains)));
columns.Bound(theMember => theMember.DisplayClientMemberId).HeaderTemplate("Patient ID").Width(30).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false).MinLength(3).SuggestionOperator(FilterType.Contains)));
columns.Bound(theMember => theMember.DisplayBirthDate).HeaderTemplate("DOB").Format("{0:MM/dd/yyyy}").Width(30).Filterable(ftb => ftb.Cell(cell => cell.Operator("contains").ShowOperators(false).MinLength(3).SuggestionOperator(FilterType.Contains)));
…
.DataSource(dataBinding => dataBinding.Ajax()
.Read(read => read.Action("_CustomBinding", "PCPandCA").Data("members_FetchSearchParameters"))
.Events(events => events.Error("handleAjaxErrorFromGrid"))
.ServerOperation(true)
.PageSize(Model.PageSize).Model(model => { model.Id(e => e.MemberID); model.Field(f => f.FirstName); })
//default sort DisplaySignatureDue column by ascending
.Sort(sort => {
if (!AssessmentExpired) { sort.Add("DisplaySignatureDue").Ascending();}
if (AssessmentExpired) { sort.Add("DisplayExpiredDate").Ascending();}
})
)
.Pageable(pageable => pageable
.PageSizes(true)
.Refresh(true)
)
.Sortable()
.NoRecords("No records found.")
.Selectable()
.Filterable(ftb => ftb.Mode(GridFilterMode.Row))
.Events(events => events.Change("handleGridRowSelected").DataBinding("handleDataBinding").DataBound("handleDataBound").Filter("onFiltering"))
.HtmlAttributes(new { style = "cursor:pointer;border: 0px;height: 380px;display: flex;overflow-y: scroll;" })
)
【问题讨论】:
标签: kendo-ui kendo-grid kendo-asp.net-mvc