Демо
https://js.devexpress.com/Demos/Widgetsgallery/Demo/DataGrid/RowEditingAndEditingEvents/NetCore/Light/
То, чего я пытаюсь добиться, - когда пользователь нажимает кнопку Изменить, он обновляет строку, а затем, когда пользователь нажимает кнопку сохранения, он должен отправить запрос действию и обновить базу данных, которую мы используем Asp MVC Core. не знаю, какая пользовательская функция Jquery связана с DevExtreme, кнопка сохранения, проверьте код, и я также делюсь URL-адресом DevExpre
@using DevExtremeAspNetCoreApp1.Models
<h2>Home</h2>
@(Html.DevExtreme().DataGrid<Order>()
.ShowBorders(true)
.DataSource(d => d.Mvc().Controller("Orders").LoadAction("Get").Key("OrderID"))
.Columns(columns =>
{
columns.AddFor(m => m.OrderID);
columns.AddFor(m => m.OrderDate);
columns.AddFor(m => m.CustomerName);
columns.AddFor(m => m.ShipCountry);
columns.AddFor(m => m.ShipCity);
})
.Paging(p => p.PageSize(10))
.Editing(editing =>
{
editing.Mode(GridEditMode.Row);
editing.AllowAdding(true);
editing.AllowDeleting(true);
editing.AllowUpdating(true);
}).OnRowUpdated(@<text> function(e) { logEvent("RowUpdated"); } </text>)
.FilterRow(f => f.Visible(true))
.HeaderFilter(f => f.Visible(true))
.GroupPanel(p => p.Visible(true))
.Grouping(g => g.AutoExpandAll(false))
.RemoteOperations(true)
.Summary(s => s
.TotalItems(totalItems =>
{
totalItems.AddFor(m => m.ShipCity).SummaryType(SummaryType.Count);
})
.GroupItems(groupItems =>
{
groupItems.Add().SummaryType(SummaryType.Count);
})
)
)
<div id="data-grid-demo">
@(Html.DevExtreme().DataGrid<Order>()
.ShowBorders(true)
.DataSource(d => d.Mvc().Controller("Orders").LoadAction("Get").Key("OrderID"))
.ID("gridContainer")
.ShowBorders(true)
.Paging(p => p.Enabled(false))
.Editing(e => e.Mode(GridEditMode.Popup)
.AllowUpdating(true)
.Popup(p => p
.Title("Employee Info")
.ShowTitle(true)
.Width(700)
.Height(525)
.Position(pos => pos
.My(HorizontalAlignment.Center, VerticalAlignment.Top)
.At(HorizontalAlignment.Center, VerticalAlignment.Top)
.Of(new JS("window"))
)
)
.Form(f => f.Items(items =>
{
items.AddGroup()
.ColCount(2)
.ColSpan(2)
.Items(groupItems =>
{
groupItems.AddSimpleFor(m => m.CustomerID);
groupItems.AddSimpleFor(m => m.CustomerName);
groupItems.AddSimpleFor(m => m.OrderDate);
groupItems.AddSimpleFor(m => m.OrderID);
groupItems.AddSimpleFor(m => m.ShipCity);
groupItems.AddSimpleFor(m => m.ShipCountry);
groupItems.AddSimpleFor(m => m.CustomerName)
.ColSpan(2)
.Editor(editor => editor.TextArea().Height(100));
});
items.AddGroup()
.Caption("Home Address")
.ColCount(2)
.ColSpan(2)
.Items(groupItems =>
{
groupItems.AddSimpleFor(m => m.CustomerID);
groupItems.AddSimpleFor(m => m.CustomerID);
});
}))
)
.Columns(columns =>
{
columns.AddFor(m => m.CustomerID)
.Width(70);
columns.AddFor(m => m.CustomerName);
columns.AddFor(m => m.CustomerName);
columns.AddFor(m => m.CustomerName);
columns.AddFor(m => m.CustomerName)
.Width(170);
columns.AddFor(m => m.CustomerName);
columns.AddFor(m => m.CustomerName)
.Width(125)
.Lookup(lookup => lookup
.DataSource(d => d.Mvc().Controller("DataGridStatesLookup").LoadAction("Get").Key("ID"))
.DisplayExpr("Name")
.ValueExpr("ID")
);
columns.AddFor(m => m.CustomerName)
.Visible(false);
columns.AddFor(m => m.CustomerName)
.Visible(false);
})
.DataSource(d => d.Mvc()
.Controller("DataGridEmployees")
.LoadAction("Get")
.UpdateAction("Put")
.Key("ID")
)
.DataSourceOptions(d => d.Filter("['ID', '<=' , 14]"))
)
</div>