-
Notifications
You must be signed in to change notification settings - Fork 2
/
Copy path_GridViewPartial.cshtml
65 lines (56 loc) · 2.25 KB
/
_GridViewPartial.cshtml
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
32
33
34
35
36
37
38
39
40
41
42
43
44
45
46
47
48
49
50
51
52
53
54
55
56
57
58
59
60
61
62
63
64
65
@{
var grid = Html.DevExpress().GridView(settings =>
{
settings.Name = "GridView";
settings.CallbackRouteValues = new { Controller = "Home", Action = "GridViewPartial" };
settings.SettingsEditing.BatchUpdateRouteValues = new { Controller = "Home", Action = "BatchUpdatePartial" };
settings.SettingsEditing.Mode = GridViewEditingMode.Batch;
settings.CommandColumn.Visible = true;
settings.CommandColumn.ShowDeleteButton = true;
settings.CommandColumn.ShowNewButtonInHeader = true;
settings.KeyFieldName = "ID";
settings.ClientSideEvents.BatchEditEndEditing = "OnBatchEditEndEditing";
settings.Columns.Add(column =>
{
column.FieldName = "Quantity";
column.ColumnType = MVCxGridViewColumnType.SpinEdit;
SpinEditProperties prop = column.PropertiesEdit as SpinEditProperties;
prop.MinValue = 0;
prop.MaxValue = 9999;
});
settings.Columns.Add(column =>
{
column.FieldName = "Price";
column.ColumnType = MVCxGridViewColumnType.SpinEdit;
SpinEditProperties prop = column.PropertiesEdit as SpinEditProperties;
prop.MinValue = 0;
prop.MaxValue = 9999;
});
settings.Columns.Add(column =>
{
column.UnboundType = DevExpress.Data.UnboundColumnType.Decimal;
column.FieldName = "Sum";
column.ReadOnly = true;
column.Settings.ShowEditorInBatchEditMode = false;
});
settings.CustomUnboundColumnData = (sender, e) =>
{
if (e.Column.FieldName == "Sum")
{
decimal price = Convert.ToDecimal(e.GetListSourceFieldValue("Price"));
int quantity = Convert.ToInt32(e.GetListSourceFieldValue("Quantity"));
e.Value = price * quantity;
}
};
settings.CellEditorInitialize = (s, e) =>
{
ASPxEdit editor = (ASPxEdit)e.Editor;
editor.ValidationSettings.Display = Display.Dynamic;
};
});
if (ViewData["EditError"] != null)
{
grid.SetEditErrorText((string)ViewData["EditError"]);
}
}
@grid.Bind(Model).GetHtml()