Получить значение имени из вложенной таблицы с javascript - PullRequest
1 голос
/ 14 января 2020

У меня есть приведенные ниже данные с использованием JavaScript и я ищу, как найти возможный способ получить свойство LineType Name вместо столбца "invoiceLineTypeId". Таблица, в которой хранится свойство Name, - это InvoiceLineTypes и соответствующие им идентификаторы.

Я очень плохо знаком с JavaScript, но я думаю, что мне, скорее всего, придется визуализировать invoiceLineTypeID и выполнить какой-то тип поиска jquery эту таблицу, а затем отобразить обратно в таблицу данных. Любые мысли о том, как я мог выполнить sh это?

var table = $("#invoiceLineItems").DataTable({
  ajax: {
    url: "/api/InvoiceDetails/" + $('#InvoiceMaster_Id').val(),
    dataSrc: ""
  },
  columns: [{
    data: "invoiceLineTypeId"
  }, {
    data: "description"
  }, {
    data: "partNumber"
  }, {
    data: "quantity"
  }, {
    data: "chargeAmount"
  }, {
    data: "totalAmount"
  }, {
    data: "id",
    render: function(data) {
      return "<button class='btn-link js-delete' data-invoicedetails-id=" + data + ">Delete</button>";
    }
  }]
});

Вот класс InvoiceDetails

public class InvoiceDetails
{
    public int Id { get; set; }

    public DateTime DateCreated { get; set; }

    public int AccountID { get; set; }

    public Guid AccountGUID { get; set; }

    public int SubAccountID { get; set; }

    public int InvoiceId { get; set; }

    public int CreatedBy { get; set; }

    public InvoiceLineType InvoiceLineType { get; set; }

    [Display(Name = "Line Type")]
    public int InvoiceLineTypeId { get; set; }

    public int Quantity { get; set; }

    public decimal ChargeAmount { get; set; }

    public decimal TotalAmount { get; set; }

    public decimal AvgTotal { get; set; }

    public string Description { get; set; }

    public string PartNumber { get; set; }
}

1 Ответ

1 голос
/ 15 января 2020

Во-первых, ваш ajax вызов должен вернуть json данные, это очень важно. Затем вы можете использовать свой бэкэнд для заполнения пары ключ-значение для json в соответствии с вашими потребностями (например, LineType вместо invoiceLineTypeId).

Кроме того, в DataTable вы также можете использовать определение столбца для отображения предпочитаемого столбца по номеру индекса. Множество примеров, соответствующих вашим требованиям, есть в официальной документации DataTable: datatables.net/manual/ajax

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...