KendoUI MVVM を使用してこれに関する解決策を探す: 2 つのグリッドがあります。最初のグリッドのデータは、GetData() などのコントローラーのアクションから返されます。このグリッドには、チェックボックス付きの列があります。ユーザーは、チェックボックスをオンにして、最初のグリッドの行を選択できます。ボタンをクリックすると、最初のグリッドから選択されたすべての行が 2 番目のグリッドに追加されます。2 番目のグリッドにはさらに 3 つの列が追加されており、他の列は最初のグリッドのものと非常によく似ています。誰かがこれについて解決策を投稿してください。かなり緊急です。
public class MyModel
{
public string CustomerID { get; set; }
public string CustomerName { get; set; }
public bool? ChooseItem { get; set; }
public int Quantity{ get; set; }
}
グリッド1
@(Html.Kendo().Grid<MyModel>
()
.Name("grid1")
.Columns(columns =>
{
columns.Bound(p => p.CustomerID).Filterable(false).Title("<b>CustID</b>").Width(170);
columns.Bound(p => p.CustomerName).Title("<b>Description</b>").Width(250);
columns.Bound(p => p.ChooseItem)
.ClientTemplate("<input type='checkbox' id='rowSelected' />");
})
.Selectable()
.Pageable()
.Sortable(x => x.SortMode(GridSortMode.SingleColumn))
.Scrollable()
.HtmlAttributes(new Dictionary<string, object> { { "data-bind", "source: gridSource1" } })
.EnableCustomBinding(true)
.DataSource(dataSource => dataSource
.Ajax()
.PageSize(15)
.Read(read => read.Action("GetData", "Home"))
)
)
<button id="btnAddMulti" type="button">Add LineItem </button>
グリッド2
@(Html.Kendo().Grid<MyModel>
()
.Name("grid2")
.Columns(columns =>
{
columns.Bound(p => p.CustomerID).Filterable(false).Title("<b>CustID</b>").Width(170);
columns.Bound(p => p.CustomerName).Title("<b>Description</b>").Width(250);
columns.Bound(p => p.Quantity)
.ClientTemplate("<input type='text' id='itemQty' />");
columns.Bound(p => p.CustomerID)
.ClientTemplate("<input type='button' id='btnAdd' />");
columns.Bound(p => p.CustomerID)
.ClientTemplate("<input type='button' id='btnDelete' />");
})
.Scrollable()
.HtmlAttributes(new Dictionary<string, object> { { "data-bind", "source: gridSource2" } })
.EnableCustomBinding(true)
)
)
var viewModel = kendo.observable({
gridSource1: [],
gridSource2: [],
})
$('#btnAddMulti').click(function () {
var sourcegrid = $('#grid1').data('kendoGrid');
var destinationgrid = $('#grid2').data('kendoGrid');
//ToDo: copy all the rows in destinationgrid which are marked checked in sourcegrid