У меня есть таблица в MVC, которую я извлекаю из базы данных и сортирую данные в соответствии со следующим условием.
var lineitems = Model.lineItems.OrderBy(l => l.MasterNumber == "0" ? int.Parse(l.Number) : int.Parse(l.MasterNumber)).ToList();
Когда я хочу использовать эту таблицу с редактором данных, я могу 'т приведенное выше условие.Способ, которым я могу использовать опцию заказа на стороне View согласно условию if?Или как мне отсортировать данные в ответе при отправке данных контроллером?
КОНТРОЛЛЕР
var response = new Editor(db, "V_LineItemEdit")
.Model<LineItemSupplierEditModel>("V_LineItemEdit")
.Field(new Field("V_LineItemEdit.Id")
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Number")
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Impa")
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Description")
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Unit")
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Qtty")
.Validator(Validation.Numeric())
.Validator(Validation.NotEmpty()))
.Field(new Field("V_LineItemEdit.Price")
.Validator(Validation.Numeric())
.SetFormatter(Format.IfEmpty(null)))
.Field(new Field("V_LineItemEdit.AltQtty")
.Validator(Validation.Numeric())
.SetFormatter(Format.IfEmpty(null)))
.
Field(new Field("V_LineItemEdit.AltUnit"))
.Field(new Field("V_LineItemEdit.AltPrice")
.Validator(Validation.Numeric())
.SetFormatter(Format.IfEmpty(null)))
.Field(new Field("V_LineItemEdit.Remark"))
.Field(new Field("V_LineItemEdit.WarehouseInfo"))
.Field(new Field("V_LineItemEdit.SelectedSupplierName"))
.Field(new Field("V_LineItemEdit.SelectedSupplierCalculatedPrice")
.Validator(Validation.Numeric())
.SetFormatter(Format.IfEmpty(null)))
.Field(new Field("V_LineItemEdit.SelectedSupplierRemark"))
.Field(new Field("V_LineItemEdit.IsAlternative"))
.Pkey("Id")
.Where("ReferanceNumberId", id)
.Where("IsRemoved", false)
.Process(formData)
.Data();
return Json(response, JsonRequestBehavior.AllowGet);
VIEW
editor = new $.fn.dataTable.Editor({
ajax: "/TechnicalPricing/LineItemsTable/" + id,
table: "#items"+id,
fields: [
{
label: "Id",
name: "V_LineItemEdit.Id"
},
{
label: "Number",
name: "V_LineItemEdit.Number"
},
{
label: "Impa",
name: "V_LineItemEdit.Impa"
},
{
label: "Description",
name: "V_LineItemEdit.Description"
},
{
label: "Unit",
name: "V_LineItemEdit.Unit"
},
{
label: "Qtty",
name: "V_LineItemEdit.Qtty"
},
{
label: "Price",
name: "V_LineItemEdit.Price"
},
{
label: "AltQtty",
name: "V_LineItemEdit.AltQtty"
}
]
});
var table = $('#items'+id).DataTable({
dom: "Bfrtip",
ajax: "/TechnicalPricing/LineItemsTable/" + id,
"ordering": false,
"paging": false,
pageLength: 10,
columns: [
{ data: "V_LineItemEdit.Id" },
{ data: "V_LineItemEdit.Number", className:' text-left font-bold' },
{ data: "V_LineItemEdit.Impa", className: 'editable text-left font-bold' },
{ data: "V_LineItemEdit.Description", className: 'editable text-left font-bold' },
{ data: "V_LineItemEdit.Unit", className: 'editable text-left font-bold' },
{ data: "V_LineItemEdit.Qtty", className: 'editable text-left font-bold', render: $.fn.dataTable.render.number('.', ',', 2) },
{ data: "V_LineItemEdit.Price", className: 'editable text-left font-bold' ,render: $.fn.dataTable.render.number('.', ',', 2) },
{ data: "V_LineItemEdit.AltQtty", className: 'editable text-left font-bold' ,render: $.fn.dataTable.render.number('.', ',', 2) },
],
order: [[ 1, 'asc' ]],
select: {
style: 'os',
selector: 'td:first-child'
},
buttons: [
]
});
введите описание изображения здесь