#c# #asp.net-mvc #datatable
#c# #asp.net-mvc #данные доступны
Вопрос:
Я пишу приложение в MVC Core 5. У меня есть доменная сущность, в которой я выполняю вычисления. Я также использую ABP.Структура ввода-вывода. Я знаю, как извлекать данные из базы данных, но я пытаюсь извлечь информацию из свойства summary и не знаю, как заставить объект datatable отображать ее.
Моя доменная сущность:
using CRM.Enums; using CRM.Interfaces.Common; using Microsoft.AspNetCore.Mvc; using System; using System.Collections.Generic; using System.ComponentModel.DataAnnotations; using System.ComponentModel.DataAnnotations.Schema; using Volo.Abp.Domain.Entities.Auditing; using Volo.Abp.MultiTenancy; namespace CRM.Entities.Common { public abstract class MileageLogBase : FullAuditedAggregateRootlt;intgt;, IMileageLogBase, IMultiTenant, IValidatableObject { [HiddenInput(DisplayValue = false)] [ScaffoldColumn(false)] public Guid? TenantId { get; set; } [Column(TypeName = "date")] [DataType(DataType.Date)] [DisplayFormat(ApplyFormatInEditMode = true, ConvertEmptyStringToNull = false, DataFormatString = "{0:yyyy-MM-dd}")] [Required] public DateTime DateOccurred { get; set; } [Range(000000.0, 999999.9)] [Required] public int StartOdometer { get; set; } [Range(000000.0, 999999.9)] [Required] public int EndOdometer { get; set; } public bool IsCompanyVehicle { get; set; } public bool IsReimbursedByCompany { get; set; } [EnumDataType(typeof(ContractorType))] [HiddenInput(DisplayValue = true)] [Required] [ScaffoldColumn(false)] public ContractorType CompanyType { get; set; } public int CalculateTotalMilesDriven { get { return EndOdometer - StartOdometer; } } public override IEnumerablelt;ValidationResultgt; Validate(ValidationContext validationContext) { var TodaysDate = DateTime.Today; if (DateOccurred gt; TodaysDate) { yield return new ValidationResult( "The date cannot be in the future. Please specify a valid date.", new[] { nameof(DateOccurred) } ); } } } }
Файл JS.
$(function () { var l = abp.localization.getResource('CRM'); var dataTable = $('#AmazonFreshTable').DataTable( abp.libs.datatables.normalizeConfiguration({ serverSide: true, paging: true, order: [[1, "asc"]], searching: false, scrollX: true, ajax: abp.libs.datatables.createAjax(cRM.services.contractor.mileageLog.amazonFreshMileageLog.getList), columnDefs: [ { title: l('Datatable:ColumnHeader:DateOccurred'), data: "dateOccurred", render: function (data) { return luxon .DateTime .fromISO(data, { locale: abp.localization.currentCulture.name }).toLocaleString(); } }, { title: l('Datatable:ColumnHeader:StartOdometer'), data: "startOdometer" }, { title: l('Datatable:ColumnHeader:EndOdometer'), data: "endOdometer" }, { title: l('Datatable:ColumnHeader:CalculateTotalMilesDriven'), data: "calculateTotalMilesDriven" }, { title: l('Datatable:ColumnHeader:IsCompanyVehicle'), data: "isCompanyVehicle" }, { title: l('Datatable:ColumnHeader:IsReimbursedByCompany'), data: "isReimbursedByCompany" }, //{ // title: l('Datatable:ColumnHeader:ContractorType'), // data: "companyType", // render: function (data) { // return l('Enum:ContractorType:' data); // } //}, { title: l('Datatable:ColumnHeader:CreationTime'), data: "creationTime", render: function (data) { return luxon .DateTime .fromISO(data, { locale: abp.localization.currentCulture.name }).toLocaleString(luxon.DateTime.DATETIME_SHORT); } } ] }) ); });
Я пытаюсь отобразить CalculateTotalMilesDriven в таблице данных. Пожалуйста, сообщите, если кто-нибудь знает, как это сделать. Я посмотрел в Интернете и не смог найти решение этой проблемы.
Спасибо, Эм.