首页
学习
活动
专区
圈层
工具
发布
社区首页 >问答首页 >在Razor Net MVC中重复时在foreach中显示项目为空

在Razor Net MVC中重复时在foreach中显示项目为空
EN

Stack Overflow用户
提问于 2016-12-16 23:26:28
回答 0查看 513关注 0票数 0

我的剃须刀里有一张桌子,当一个机构的名字被重复时,我想要它,使他成为一个空字段。有没有办法做到这一点?

就像这个柱塞:https://plnkr.co/qitrBwCksORassfJkpss

剃刀:

代码语言:javascript
复制
<style>
    table {
        width: 100%;
    }

    th {
        background-color: #673673;
        color: white;
        font-size: 14px;
        text-align: center;
    }

    tr {
        font-size: 12px;
        text-align: center;
    }

    th, td {
        padding: 8px;
    }

    tr:nth-child(even) {
        background-color: #f2f2f2;
    }


    header h1 span {
        text-align: center;
    }
</style>
<header style="text-align:center;">
    <h1>Aperam South America</h1>
    <h4>
        Relatório de Demandas por Instituições <br />
        @DateTime.Now
    </h4>
</header>
<main style="margin-top: 5%;">
    <table id="report-table">
        <tr>
            <th>Instituition</th>
            <th>Descrição da demanda</th>
            <th>Periodicidade</th>
            <th>Tempo Estimado</th>
            <th>Situação Demanda</th>
        </tr>


        @foreach (var query in Model.GroupBy(i => i.COD_IDENT_INSTI).Distinct())
        {
            foreach (var demanda in query)
            {
                <tr>
                    <td>@demanda.INSTITUICAO_SOCIAL.NOM_FANTA_INSTI</td>
                    <td>@demanda.DES_COMPL_DEMAN)</td>
                    <td>@demanda.PERIODICIDADE.DES_COMPL_COMPT</td>
                    <td>@demanda.VLR_TEMPO_ESTIM</td>
                    <td>@demanda.COD_SITUA_DEMAN</td>
                </tr>
            }

        }
    </table>
</main>
<footer></footer>

我的控制器:

代码语言:javascript
复制
public ActionResult GerarRelatorio(RelatorioViewModel relatorio)
    {
        switch (relatorio.Tipo)
        {
            case EnumTipoRelatorio.Nenhum:
                TempData["Message"] = new[] { Resources.relatorio_tipo_errro, "erro" };
                return RedirectToAction("Relatorios", "Relatorio");

            case EnumTipoRelatorio.demandasPorInstituicoes:
                try
                {
                    var demandas = Mapper.Map < ICollection<DEMANDA>, ICollection<DemandaViewModel>>(_demandaService.ObterTodos().ToList());
                    var instituicao = Mapper.Map<ICollection<INSTITUICAO_SOCIAL>,ICollection<InstituicaoSocialViewModel>>(_instituicaoSocialService.ObterTodos().ToList());

                    var demandasPorInstituicoes = from d in demandas join i in instituicao 
                                                  on d.COD_IDENT_INSTI equals i.COD_IDENT_INSTI
                                                  where i.DAT_CRIAC_REGIS >= relatorio.InicioFiltro &&
                                                  i.DAT_CRIAC_REGIS <= relatorio.FimFiltro
                                                  select d;



                    //return new MvcRazorToPdf.PdfActionResult("DemandasPorInstituicoes", demandasPorInstituicoes, (writer, document) => {
                    //    document.SetPageSize(PageSize.A3);
                    //});

                    return View("DemandasPorInstituicoes", demandasPorInstituicoes);
                }

                catch (Exception ex)
                {
                    TempData["Message"] = new[] { Resources.relatorio_erro, "erro" };
                    return RedirectToAction("Relatorios", "Relatorio");
                }
        }

        //var instituicao = _instituicaoSocialService.ObterTodos().ToList();
        TempData["Message"] = new[] { Resources.relatorio_tipo_errro, "erro" };
        return RedirectToAction("Relatorios", "Relatorio");
    }

我的ViewModel:

代码语言:javascript
复制
public class DemandaViewModel
{
    [Key]
    [Display(Name = "Código")]
    public int COD_IDENT_DEMAN { get; set; }

    [Display(Name = "Instituição")]
    public int COD_IDENT_INSTI { get; set; }

    [Display(Name = "Periodicidade")]
    public int COD_IDENT_PERIO { get; set; }

    [Display(Name = "Descrição")]
    [Required(ErrorMessage = "A demanda deve possuir um nome.")]
    [MaxLength(128, ErrorMessage = "O nome da demanda deve possuir no máximo {1} caracteres.")]
    public string DES_COMPL_DEMAN { get; set; }

    [Display(Name = "Local da ação")]
    [Required(ErrorMessage = "O departamento deve possuir um nome.")]
    [MaxLength(128, ErrorMessage = "O nome do departamento deve possuir no máximo {1} caracteres.")]
    public string DES_LOCAL_DEMAN { get; set; }

    [Display(Name = "Tempo Estimado")]
    [MaxLength(64, ErrorMessage = "O nome do departamento deve possuir no máximo {1} caracteres.")]
    public string VLR_TEMPO_ESTIM { get; set; }

    [Display(Name = "Quantidade de voluntários")]
    public short NUM_VOLUN_DEMAN { get; set; }

    [Display(Name = "Custo Estimado")]
    public decimal? VLR_CUSTO_ESTIM { get; set; }

    [Display(Name = "Classificação")]
    public short? COD_CLASF_DEMAN { get; set; }

    [Display(Name = "Observação")]
    [Required(ErrorMessage = "A demanda deve possuir uma observação.")]
    [MaxLength(1024, ErrorMessage = "A observação da demanda deve possuir no máximo {1} caracteres.")]
    public string DES_OBSER_ACAO { get; set; }

    [Display(Name = "Situação")]
    public short? COD_SITUA_DEMAN { get; set; }

    public virtual InstituicaoSocialViewModel INSTITUICAO_SOCIAL { get; set; }

    public virtual PeriodicidadeViewModel PERIODICIDADE { get; set; }

    public virtual ICollection<RegistroAcaoViewModel> REGISTROACAO { get; set; }

    public virtual ICollection<CompetenciaViewModel> COMPETENCIA { get; set; }

    public virtual ICollection<VoluntarioViewModel> VOLUNTARIO { get; set; }
}
EN

回答

页面原文内容由Stack Overflow提供。腾讯云小微IT领域专用引擎提供翻译支持
原文链接:

https://stackoverflow.com/questions/41187568

复制
相关文章

相似问题

领券
问题归档专栏文章快讯文章归档关键词归档开发者手册归档开发者手册 Section 归档