在我的 asp.net MVC 4 应用程序中,我有一个带有两个 Kendo UI 网格的视图。其中一个包含带有属性的产品列表。我希望另一个具有完全相同的列,但为空。
当我在第一个网格上选择一行时,我希望将其从第一个网格中删除并添加到第二个网格中。我还希望能够从第二个中删除行并将它们添加回第一个。我不知道如何做到这一点。这是我的问题的答案,但我希望能够使用 Kendo UI asp.net MVC 包装器来实现它:
我有一个这样的 ViewModel:
public class SelectProductsViewModel
{
public IEnumerable<Product> Products { get; set; }
public IEnumerable<Product> SelectedProducts { get; set; }
}
我的控制器动作如下所示:
public ActionResult SelectProducts()
{
var viewModel = new SelectProductViewModel
{
Products = GetProducts(), // Get Products form the database
SelectedProducts = new List<Product>()
}
return View(viewModel);
}
而且,这是我的观点:
@(Html.Kendo().Grid(Model.Products)
.Name("productsgrid")
.Columns(columns =>
{
columns.Bound(p => p.ProductName);
columns.Bound(p => p.Color);
columns.Bound(p => p.Size);
columns.Bound(p => p.Price);
})
.Pageable()
.Sortable()
.Filterable()
.DataSource(dataSource => dataSource
.Ajax()
.Read(read => read.Action("GetProducts", "Product"))
.Model(model =>
{
model.Id("ProductID");
})
)
)
@(Html.Kendo().Grid(Model.SelecteProducts)
.Name("selectedproductsgrid")
.Columns(columns =>
{
columns.Bound(p => p.ProductName);
columns.Bound(p => p.Color);
columns.Bound(p => p.Size);
columns.Bound(p => p.Price);
})
.Pageable()
.Sortable()
.Filterable()
.DataSource(dataSource => new DataSource())
)