0
年齢、年月、日数のカスタムフィルタを作成したいコードは次のとおりです。Custom Telerik Kendo Filterにテキストボックスを挿入
@(Html.Kendo().Grid<RunSummary>()
.Name("Runs")
.DataSource(datasource => datasource
.Ajax().PageSize(25)
.Sort(sort => sort.Add("TimeOn").Descending())
.Read(read => read.Action("GetRunSummaries", "Home")))
.Columns(columns =>
{
columns.Bound(d => d.RunId).Title("").Width(30).Filterable(false)
.ClientTemplate("<input type='checkbox' unlock='true' class='primaryBox' id='#= RunId #' />").Visible(User.IsInRole("Registry Administrator"));
columns.Bound(c => c.UniqueId).Title(ELSORegistry.Resources.Views.Home.HomeStrings.UniqueId);
columns.Bound(c => c.RunNo).Title(SharedStrings.Run);
columns.Bound(c => c.Birthdate).Title(SharedStrings.Birthdate).Format("{0:g}").Filterable(true);
//columns.Bound(c => c.Age).Title(SharedStrings.Age).ClientTemplate("#= formatAge(Age)#");
columns.Bound(c => c.Age).Title(SharedStrings.Age)
.ClientTemplate("#= formatAge(Age)#")
.Filterable(
filterable => filterable
.UI("cityFilter")
.Extra(false)
.Operators(operators => operators
.ForNumber(str => str.Clear().IsEqualTo("Is equal to").IsGreaterThan("Is greater than").IsLessThan("Is less than"))
)
);
columns.Bound(c => c.TimeOn).Title(PatientStrings.TimeOn)
.Format("{0:g}")
.Filterable(true);
columns.Bound(c => c.TimeOff).Title(PatientStrings.TimeOff)
.Format("{0:g}")
.Filterable(true);
columns.Bound(c => c.isLocked).Title("Locked").ClientTemplate("#= isLocked ? 'Yes' : 'No' #");
//columns.Bound(p => p.Abbreviation).Title("Mode");
columns.Command(command => command.Custom("Patient").Click("selectPatient"));
columns.Command(command => command.Custom("Run").Click("selectRun"));
}
)
.Pageable(p => p.PageSizes(new[] {10, 25, 50, 100}))
.Sortable()
.Filterable()
.Events(e => e.FilterMenuInit("FilterMenuFunc")) // apply x [closing box] on pop up filter box
)
</section>
<script>
function cityFilter(element) {
element.kendoDropDownList({
dataSource: [{ Name: "Days", Value: "1" }, { Name: "Months", Value: "2" }, { Name: "Years", Value: "3" }]
, dataTextField: "Name"
, dataValueField: "Value"
});
window.setTimeout(function() {
element.data("kendoDropDownList").value("3");
}, 1);
}
</script>
私はここ(中世の)数を置くために、年齢フィルタにテキストボックスを挿入する必要があります。テキストボックスフィールドをカスタムフィルタに挿入するには?助けをありがとうございました。