提问人:Syed Basit 提问时间:10/23/2023 最后编辑:NimanthaSyed Basit 更新时间:11/13/2023 访问量:31
在所选表行下显示数据
Displaying data under selected table row
问:
我正在分享我的代码和我使用 asp dot net core 面临的问题 我有manager class , dto , cshtml 和enum
这是我的dto类
`public class InvestmentDetailDto
{
public InvestmentDetailDto()
{
AmountType = new List<PickList>();
SectionCode = new List<PickList>();
public int Id { get; set; }
public string EmployeeId { get; set; }
public string Name { get; set; }
public string PolicyNumber { get; set; }
public decimal Amount { get; set; }
public decimal AMTAmount { get; set; }
public DateTime InvestmentStartDate { get; set; }
public DateTime InvestmentEndDate { get; set; }
public bool IsDeleted { get; set; }
public List<PickList> AmountType { get; set; }
public List<PickList> SectionCode { get; set; }
public int AmountTypeId { get; set; }
public int SectionCodeId { get; set; }
public string PolicyNo { get; set; }
public bool IsActive { get; set; }
}`
这是我在 Manager 类中用于映射的循环
foreach (var invest in
investment.EmployeeInvestmentDetails.Where(x =>!x.IsDeleted &&
x.IsActive == true ))
{
var invertDetail = new InvestmentDetailDto();
invertDetail.Name = invest.Name.ToString();
invertDetail.AMTAmount = invest.AMTAmount ?? 0;
invertDetail.Amount = invest.Amount ?? 0;
empSalaryDetail.EmployeeInvestmentDetails.Add(invertDetail);
}
这是 CSHTML
@foreach (var sectionName in new[] { "80C", "80CCC", "80CCD" })
{
var matchingInvestments = Model.EmployeeInvestmentDetails.Where(x => x.SectionCode.Any(p => p.Value == sectionName)).ToList();
if (matchingInvestments.Any())
{
<tr>
<td class="mainLine" style="padding-left: 2%;">@sectionName</td>
<td class="INRLine"></td>
<td class="INRLine"></td>
<td class="INRLine"></td>
</tr>
foreach (var item in matchingInvestments)
{
<tr>
<td class="mainLine" style="padding-left: 2%;">@item.Name</td>
<td class="INRLine"><b>@item.Amount</b></td>
<td class="INRLine"><b>@item.Amount</b></td>
<td class="INRLine"><b>@item.AMTAmount</b></td>
</tr>
}
}
}
这是创建的枚举
public enum SectionCodeEnum
{
[Display(Name = "80C")]
Eighty_C = 1,
[Display(Name = "80CCC")]
Eighty_CCC = 2,
[Display(Name = "80CCD")]
Eighty_CCD = 3,
部分是一个接机列表,如下所示
public class PickList
{
public int Id { get; set; }
public string Value { get; set; }
}
每当我在应该像这样可见的任何部分下插入投资名称时(例如 80C 及其下的投资名称与 80CCC 和 80CCD 相同)
相反,我什么也没得到
答:
0赞
Lakhwinder Singh
10/23/2023
#1
InvestmentDetailDto:此类似乎是用于传输与投资相关的数据的 DTO(数据传输对象)。它包含各种投资细节的属性。你还对 AmountType 和 SectionCode 使用 PickList 列表。
foreach 循环:使用 foreach 循环循环访问一组投资,并为每个投资填充 InvestmentDetailDto。循环中的代码根据投资值设置 InvestmentDetailDto 的属性。
SectionCodeEnum:这是一个枚举,用于定义“80C”、“80CCC”和“80CCD”等节代码。它还使用 [Display] 属性为枚举值提供人类可读的名称。
PickList:这是一个表示具有 ID 和值的项的类,这是用于在各种上下文中定义选项或项的常见模式。
评论