or
<
div
class
=
"form-group"
>
@Html.LabelFor(model => model.locationCode, new { @class = "control-label col-md-2" })
<
div
class
=
"col-md-10"
>
@(Html.Kendo().ComboBox()
.Name("locationCode")
.Filter(FilterType.Contains)
.DataTextField("Text")
.DataValueField("Value")
.BindTo(Model.Locations)
.Suggest(true)
)
@Html.ValidationMessageFor(model => model.locationCode)
</
div
>
</
div
>
<
div
class
=
"form-group"
>
@Html.LabelFor(model => model.loadType, new { @class = "control-label col-md-2" })
<
div
class
=
"col-md-10"
>
@(Html.Kendo().ComboBox()
.Name("loadType")
.Filter(FilterType.Contains)
.DataTextField("Text")
.DataValueField("Value")
.BindTo(Model.LoadTypes)
.Suggest(true)
)
@Html.ValidationMessageFor(model => model.loadType)
</
div
>
</
div
>
<
div
class
=
"form-group"
>
@Html.LabelFor(model => model.loadDescrip, new { @class = "control-label col-md-2" })
<
div
class
=
"col-md-10"
>
@(Html.Kendo().ComboBox()
.Name("loadDescription")
.Filter(FilterType.Contains)
.DataTextField("DocCode")
.DataValueField("DocCode")
.DataSource(source =>
{
source.Read(read =>
{
read.Action("GetCascadeDocumentNumbers", "DockDoor")
.Data("filterLoadDescription");
})
.ServerFiltering(true);
})
.Enable(false)
.AutoBind(false)
.CascadeFrom("loadType")
)
<
script
>
function filterLoadDescription() {
return {
locCode: $("#locationCode").val(),
loadType: $("#loadType").val(),
docNumFilter: $("#loadDescription").data("kendoComboBox").input.val()
};
}
</
script
>
@Html.ValidationMessageFor(model => model.loadDescrip)
</
div
>
</
div
>
public
JsonResult GetCascadeDocumentNumbers(
string
locCode,
string
loadType,
string
docNumFilter)
{
if
(loadType !=
"OPEN"
&& loadType !=
"GENERIC"
)
{
var docNums = db.GetCurrentDocumentNumbers(locCode, loadType).AsEnumerable();
if
(!
string
.IsNullOrWhiteSpace(docNumFilter))
{
docNums = docNums.Where(x => x.Contains(docNumFilter));
}
return
Json(docNums.Select(x =>
new
{ DocCode = x.ToString() }), JsonRequestBehavior.AllowGet);
}
return
Json(
string
.Empty, JsonRequestBehavior.AllowGet);
}
public
class
TaskItem : ISchedulerEvent
{
[DatabaseGenerated(DatabaseGeneratedOption.Identity)]
public
int
TaskItemID {
get
;
set
; }
[Required]
public
string
Title {
get
;
set
; }
public
string
Description {
get
;
set
; }
[Required]
public
DateTime Start {
get
;
set
; }
public
string
StartTimezone {
get
;
set
; }
[Required]
public
DateTime End {
get
;
set
; }
public
string
EndTimezone {
get
;
set
; }
public
string
RecurrenceRule {
get
;
set
; }
public
int
? RecurrenceID {
get
;
set
; }
public
string
RecurrenceException {
get
;
set
; }
public
bool
IsAllDay {
get
;
set
; }
public
int
? OwnerID {
get
;
set
; }
}
schema: {
model: {
id:
"taskID"
,
fields: {
taskID: { from:
"TaskID"
, type:
"number"
},
title: { from:
"Title"
, validation: { required:
true
} }
}
}
}