gpt4 book ai didi

c# - 如何在 Kendo 调度程序资源(弹出窗口)中触发 DropDownList 事件

转载 作者:太空宇宙 更新时间:2023-11-03 13:26:45 25 4
gpt4 key购买 nike

我的 .Cshtml 页面中有以下 kendo 调度程序代码

<div class="space-6"></div>
<div class="row">
<label>Procedure Code</label>
@Html.Partial("Partials/_ProviderCodeHint")
</div>

@(Html.Kendo().Scheduler<AppoinmentModel>()
.Name("AppoinmentModelSchduler")
.Views(views =>
{
views.DayView();
views.WorkWeekView(workWeekView => workWeekView.Selected(true));
views.WeekView();
views.MonthView();
views.AgendaView();
})
.Resources(resource =>
{
resource.Add(m => m.ProcedureCode_Id)
.Title("Pro Code")
.DataTextField("DisplayText")
.DataValueField("DataField")
.Name("ProcedureCode_Id")
.DataSource(p => p.Read(x => x.Action("GetProcedureCodes", "OfficeAppointment").Data("_ProviderCodeHint_SupplementData")).ServerFiltering(true));
})
.DataSource
(
d => d.Model(m =>
{
m.Id(f => f.Id);
m.Field(f => f.Title).DefaultValue("No title");
m.RecurrenceId(f => f.RecurrenceId);
})
.Events(x => x.Error("kendoGridErrorHandle"))
.ServerOperation(true)
.PageSize(500)
.Read(x => x.Action("Scheduler_Appointment_Read", "OfficeAppointment").Data("Scheduler_SupplementData"))
.Create(x => x.Action("Scheduler_Appointment_AddUpdate", "OfficeAppointment").Data("Scheduler_SupplementData"))
.Update(x => x.Action("Scheduler_Appointment_AddUpdate", "OfficeAppointment").Data("Scheduler_SupplementData"))
.Destroy("Scheduler_Appointment_Delete", "OfficeAppointment")
)
)

I'm binding Drop down by calling another partial view.

局部 View 代码

<script>

function _ProviderCodeHint_SupplementData() {
var providerCodeCombo = $("#_ProviderCodeHint").data("kendoDropDownList");

return {
ProviderCodeId: providerCodeCombo.value()
};
}

function providerCodeHintOnChange() {
alert('Tested');
}

</script>

@(
Html.Kendo().DropDownList()
.Name("_ProviderCodeHint")
.HtmlAttributes(new { @class = "input-xlarge" })
.DataValueField("DataField")
.Events(x => x.Change("providerCodeHintOnChange"))
.DataTextField("DisplayText")
.DataSource(p => p.Read(x => x.Action("GetProcedureCodes", "OfficeAppointment").Data("_ProviderCodeHint_SupplementData")).ServerFiltering(true))
)

永兴效果不错。但是当我尝试添加下拉列表事件时。它没有被解雇。我试过 Jquery 和剑道的 .Events

如果我使用 kendo 的 .Events,它会在资源本身加载时触发。

指导我在单击调度程序单元格 onclick 加载弹出窗口后触发弹出窗口内的 onchange 事件

由于加载优先级的原因,目前 Jquery 不适用于 Onchange

最佳答案

我自己找到了解决方案。,

在加载 Scheduler 时,我调用了 script 函数和初始化事件 .Events(eve => eve.Change("OnLoad")

局部 View :

.DataSource
(
d => d.Model(m =>
{
m.Id(f => f.Id);
m.Field(f => f.Title).DefaultValue("No title");
m.RecurrenceId(f => f.RecurrenceId);
})
.Events(x => x.Error("kendoGridErrorHandle"))
.ServerOperation(true)
.PageSize(500)
.Read(x => x.Action("Scheduler_Appointment_Read", "Appointment").Data("Scheduler_SupplementData")).Events(eve => eve.Change("OnLoad"))
.Create(x => x.Action("Scheduler_Appointment_AddUpdate", "Appointment").Data("Scheduler_SupplementData"))
.Update(x => x.Action("Scheduler_Appointment_AddUpdate", "Appointment").Data("Scheduler_SupplementData"))
.Destroy("Scheduler_Appointment_Delete", "Appointment")
)

在脚本中:

function OnLoad() {
$('select[data-bind="value:ProcedureCode_Id"]').change(function () {
$('input[data-bind="value:title"]').val($('select[data-bind="value:Provider_Id"]')[0].selectedOptions[0].text + ", " + $('select[data-bind="value:ProcedureCode_Id"]')[0].selectedOptions[0].text);

});

$('select[data-bind="value:Provider_Id"]').change(function () {
$('input[data-bind="value:title"]').val($('select[data-bind="value:Provider_Id"]')[0].selectedOptions[0].text + ", " + $('select[data-bind="value:ProcedureCode_Id"]')[0].selectedOptions[0].text);

});
}

关于c# - 如何在 Kendo 调度程序资源(弹出窗口)中触发 DropDownList 事件,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/22146987/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com