Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/meteor/3.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Drop down menu Can';无法在剑道网格行中使用动态下拉列表_Drop Down Menu_Kendo Grid_Kendo Asp.net Mvc - Fatal编程技术网

Drop down menu Can';无法在剑道网格行中使用动态下拉列表

Drop down menu Can';无法在剑道网格行中使用动态下拉列表,drop-down-menu,kendo-grid,kendo-asp.net-mvc,Drop Down Menu,Kendo Grid,Kendo Asp.net Mvc,我试图将剑道网格中的下拉列表限制为只包含以前映射到行中另一个单元格中选择的公司的产品 我使用了动态下拉编辑器模板方法 但是,传递给getCompanyId()的ID始终为null,因此我的下拉列表始终为null 视图: @(Html.Kendo().Grid()) .名称(“网格”) .列(列=> { columns.Bound(c=>c.WeekNumber); columns.Bound(c=>c.Company).ClientTemplate(“#=(data.Company)?Compa

我试图将剑道网格中的下拉列表限制为只包含以前映射到行中另一个单元格中选择的公司的产品

我使用了动态下拉编辑器模板方法

但是,传递给getCompanyId()的ID始终为null,因此我的下拉列表始终为null

视图:

@(Html.Kendo().Grid())
.名称(“网格”)
.列(列=>
{
columns.Bound(c=>c.WeekNumber);
columns.Bound(c=>c.Company).ClientTemplate(“#=(data.Company)?Company.Name:'选择公司…'#”);
columns.Bound(c=>c.ServiceCode);
columns.Bound(o=>o.Product)
.ClientTemplate(“#=(data.Product)?Product.Name:“选择产品”#”)
.EditorTemplateName(“DynamicDropDownList”);
//等
})
.ToolBar(ToolBar=>{
toolbar.Create();
toolbar.Save();
})
.Editable(Editable=>Editable.Mode(GridEditMode.InCell))
.Pageable()
.可过滤()
.事件(ev=>ev
.Remove(@“function(e){setTimeout(function(){$('#grid').data('kendoGrid').dataSource.sync()}]))
)
.Sortable(可排序=>{
sortable.SortMode(GridSortMode.SingleColumn);
})
.可过滤()
.DataSource(DataSource=>DataSource
.Ajax()
.Events(Events=>Events.Error(“错误处理程序”))
.Sort(p=>{p.Add(“周数”).Descending();})
.Model(Model=>Model.Id(p=>p.Id))
.Read(Read=>Read.Action(“WeeklyRailPlans\u Read”,“WeeklyRailPlanGrid”))
.Create(Create=>Create.Action(“WeeklyRailPlans\u Create”,“WeeklyRailPlanGrid”))
.Update(Update=>Update.Action(“WeeklyRailPlans\u Update”,“WeeklyRailPlanGrid”))
.Destroy(Destroy=>Destroy.Action(“WeeklyRailPlans\u Destroy”,“WeeklyRailPlanGrid”))
)
)
名为DynamicDropDownList.cshtml的EditorTemplate


函数getCompanyId(){
返回{CompanyID:'#=ID};
}
@(Html.Kendo().DropDownList())
.名称(“产品”)
.DataValueField(“ID”)
.DataTextField(“名称”)
.DataSource(ds=>ds
.Read(Read=>Read.Action(“GetProductsForCompany”、“Products”).Data(“getCompanyId”))
)    
控制器方法GetProductsForCompany(始终接收空值)

public ActionResult GetProductsForCompany(int CompanyID)
{
返回Json(db.Products.Where(e=>e.companys.Any(t=>t.ID==CompanyID)),JsonRequestBehavior.AllowGet);
}
我使用的代码如下:

<script type="text/javascript">
    function getCompanyId() {
        var gview = $('#grid').data("kendoGrid");
        var selectedItem = gview.dataItem(gview.select());
        return { CompanyID: selectedItem.ID };
    }
</script>

函数getCompanyId(){
var gview=$(“#网格”).data(“kendoGrid”);
var selectedItem=gview.dataItem(gview.select());
返回{CompanyID:selectedItem.ID};
}

此解决方案需要:

函数getCompanyId(){ var grid=$(“#grid”).data('kendoGrid'); var dataItem=grid.dataItem(grid.table.find('.k-edit-cell')。parents('tr')) 返回{CompanyID:dataItem.Company.ID}; }
谢谢,但我还是得到了:“Uncaught TypeError:无法读取Object.getCompanyId[作为数据]处null的属性'Company'”,很高兴它为您提供了解决方案。