使用@ html.grid column.format右对齐值

问题描述 投票:0回答:2

在@ html.grid()。columns集合内使用columns.add()时如何正确对齐值?

@Html.Grid(Model.Unidades).Columns(columns => {
columns.Add()
    .Encoded(false)
    .Sanitized(false)
    .Titled("Volume")
    .RenderValueAs(o => CustomRenderingOfColumnVolume(o));
columns.Add(m => m.VolumeCorrigido)
    .Titled("Volume")
    .Format("{0:N4}")
    .Sanitized(false)
    .Encoded(false);
});

@helper CustomRenderingOfColumnVolume(Dto.ObjectDto item) { 
        <span style="text-align: right; width: 100%">@string.Format("{0:N2}", item.Volume)</span>
}

我已经尝试过,但没有成功:-来自列对象的Custom .toString(),但不允许自定义格式-使用.Format(“ {0,10}”)。SetWidth(30)就像我们使用自定义字符串格式右对齐一样-使用@helper(有关代码,请参见上面的CustomRenderingOfColumnVolume)-我现在不记得的许多其他事情

我没有找到该组件的任何文档,没有教程,没有Google特定的结果。我只需要一些东西来研究或提示以正确对齐列值。我将不胜感激,即使是@helper中列组件的CSS也是如此。

c# asp.net model-view-controller grid text-alignment
2个回答
0
投票

您可以将一个类应用于您的列:

columns.Add().Encoded(false).Sanitized(false).Titled("Volume").RenderValueAs(o => CustomRenderingOfColumnVolume(o)).Css("align-right");

然后在您的CSS中:

.align-right{text-align: right !important}


0
投票

我的一个朋友发送了另一个解决方案,类似于@RahulSharma,但没有使用@helper,既没有css命名类,也没有使用列对象的方法:

<style>
    /*Simple css hack to right align text*/
    td[data-name='Volume'] {
        text-align: right;
    }
</style>

[...]
columns.Add(m => m.Volume)
    .Titled("Volume")
    .Format("{0:N4}")
    .Sanitized(false)
    .Encoded(false);
});

我已经测试了两者,并且效果很好。谢谢大家。

© www.soinside.com 2019 - 2024. All rights reserved.