tpa*_*tel 3 kendo-ui kendo-grid
我在页面上有Kendo Grid和ForeignKey列.如下所述,使用ViewData填充ForeignKey列.
column.ForeignKey(x => x.ProductID, (List<Product>)ViewData["products"], "ID", "ProdName");
Run Code Online (Sandbox Code Playgroud)
网格可以批量(InCell)模式编辑,如下所示...
.Editable(editable => editable.Mode(GridEditMode.InCell)
Run Code Online (Sandbox Code Playgroud)
我想根据在Grid外部定义的其他下拉列表中选择的值,在页面加载后修改网格中的ProductID列的集合.
我怎样才能做到这一点?我可以使用jQuery吗?
我在这里找到类似的例子...... http://www.telerik.com/community/forums/aspnet-mvc/grid/cascading-dropdowns-in-grid-edit---foreignkey-columns.aspx
谢谢.
我想出了如何使用EditorTemplate为外键列过滤Product下拉列表.
这是我对产品的列定义.
c.ForeignKey(x => x.ProductID, (List<Product>)ViewData["products"], "ID", "ProdName").EditorTemplateName("ProductIDEditor");
Run Code Online (Sandbox Code Playgroud)
这是Product,ProductIDEditor.cshtml 的编辑器模板
@using Kendo.Mvc.UI
@(Html.Kendo().DropDownListFor(m => m)
.AutoBind(false)
.OptionLabel("Select a value...")
.DataTextField("ProdName")
.DataValueField("ID")
.DataSource(dataSource =>
{
dataSource.Read(read => read.Action("FilterProducts", "Home").Data("filterProducts"))
.ServerFiltering(true);
})
)
@Html.ValidationMessageFor(m => m)
Run Code Online (Sandbox Code Playgroud)
在我的主要VIEW Index.cshtml中,我添加了filterProductsJavaScript处理程序,它将JSON对象传递productID给控制器.
function filterChargeTypes()
{
return {
productID: $("#ProductID").val()
};
}
Run Code Online (Sandbox Code Playgroud)
这是监听过滤事件的控制器 ......
public ActionResult FilterProducts(string productID)
{
// do your filtereing based on productID.
}
Run Code Online (Sandbox Code Playgroud)
FilterProducts 每次用户点击下拉菜单以获取过滤值时都会调用.
| 归档时间: |
|
| 查看次数: |
6241 次 |
| 最近记录: |