问题描述
A 正在使用 DataTables 插件,当显示我的列时,我需要将第一个字母设为小写,以便它识别属性/对象,例如:
// Object name is actually: EngineeringChange.Responsible
{
title: "Responsible",data: "engineeringChange.responsible",className: "columnName columnHeader",},
我只是假设第一个字母总是大写为小写。我尝试在 EngineeringChange 中创建一个名为 ECRNumber 的新属性,所以我尝试了:
{
title: "ECR Number",data: "engineeringChange.eCRNumber",
未被识别为参数...经过一番搜索后,我发现我在 AJAX 上得到的 Json 响应称为 ecrNumber
。所以现在我实际上迷失了自动应用于 Json 响应的规则。它如何将 ecr
转为小写并将 Number
转为大写(N)?
编辑 Sry,想不出任何简单的方法可以在演示中准确重现我的问题
表格设计/创建
table = $('#tblEntries2').DataTable({
order: [[0,'desc']],deferRender: true,ajax: {
url: '@Url.Action("GetEntries","AlteracaoEngenharia")',method: 'GET',dataSrc: '',beforeSend: function () {
onBegin();
$content.hide();
$loader.show();
},complete: function (jsonResponse) {
console.log(jsonResponse);
onComplete();
$loader.hide();
$content.fadeIn();
$('#ExcelExport').show();
table.column(5).visible(false);
table.column(6).visible(false);
table.column(7).visible(false);
table.column(9).visible(false);
table.column(10).visible(false);
table.column(11).visible(false);
}
},dom: "<'row'<'col-2'l><'col-7 text-center'B><'col-3'f>>" +
"<'row'<'col-12'tr>>" +
"<'row'<'col-5'i><'col-7'p>>",lengthMenu: [
[10,25,50,100,-1],['10','25','50','100','Todos'],],columns: [
{
title: "Id (yr-id)",data: "creationYear",className: "columnNumber columnHeader",{
title: "ECR Number",data: "engineeringChange.ecrNumber",{
title: "Criador Alteração de Engenharia",...
处理程序
public IActionResult GetEntries()
{
GetDataEntries();
int count = 0;
int currentYear = 0;
foreach (var entry in EntriesList)
{
EngineeringChangesListviewmodel h = new EngineeringChangesListviewmodel
{
EngineeringChange = entry
};
if (currentYear != entry.DataCriacao.Year)
{
count = 1;
currentYear = entry.DataCriacao.Year;
}
else
{
count++;
}
h.DeadLine = entry.FinishedGood.Week + " - " + entry.DataCriacao.Year.ToString();
if (entry.OldPart == null)
{
h.EngineeringChange.OldPart = new Part();
}
if (entry.NewPart == null)
{
h.EngineeringChange.NewPart = new Part();
}
if (entry.FinishedGood == null)
{
h.EngineeringChange.FinishedGood = new FinishedGood();
}
if (entry.OldPart != null && entry.OldPart.CDP.HasValue)
h.OldPartValue = entry.OldPart.CDP * entry.OldPart.Stock;
if (entry.NewPart != null && entry.NewPart.CDP.HasValue)
h.NewPartValue = entry.NewPart.CDP * entry.NewPart.Stock;
h.EngineeringChange.ECRNumber = entry.ECRNumber;
//toString("D4") padds the number to always be 4 digits
h.CreationYear = entry.DataCriacao.Year.ToString() + "_" + count.ToString("D4");
h.IdYear = count;
EntriesListaviewmodel.Add(h);
}
var errorsJson = JsonConvert.SerializeObject(EntriesListaviewmodel);
Console.WriteLine(errorsJson);
return new JsonResult(EntriesListaviewmodel);
}
处理程序输出
[{"CreationYear":"2021_0001","IdYear":1,"OldPartValue":null,"NewPartValue":2061.09155,"DeadLine":"15 - 2021","EngineeringChange":{"Id":8,"DataCriacao":"2021-03-11T16:15:24.6630956","Responsible":"José António","ECRNumber":"X1232","State":"Aberto","Comment":"Teste","UserId":1,"User":null,"Component":null,"FinishedGood":{"Id":31,"Week":15,"EngineeringChangeId":8},"OldPart":{"Id":5,"Reference":"FS12848AC","Stock":null,"CDP":1.43584776,"LastExpired":null},"NewPart":{"Id":6,"Reference":"FS12848AD","Stock":1650,"CDP":1.24914646,"LastExpired":"2021-03-11T00:00:00"},"Transformation":{"Id":188,"Possible":true,"Cost":1090.0,"WillBeTransformed":true,"TransformationDate":"2021-03-13T08:48:00","Responsible":"Miguel","EngineeringChangeId":8}}},]
PAGE/AJAX OUTPUT 输出由上面显示的 console.log()
和 Console.WriteLine()
创建。
ECRNumber 被命名为 ecrNumber...
解决方法
暂无找到可以解决该程序问题的有效方法,小编努力寻找整理中!
如果你已经找到好的解决方法,欢迎将解决方案带上本链接一起发送给小编。
小编邮箱:dio#foxmail.com (将#修改为@)