在@ 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也是如此。
您可以将一个类应用于您的列:
columns.Add().Encoded(false).Sanitized(false).Titled("Volume").RenderValueAs(o => CustomRenderingOfColumnVolume(o)).Css("align-right")
;
然后在您的CSS中:
.align-right{text-align: right !important}
我的一个朋友发送了另一个解决方案,类似于@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);
});
我已经测试了两者,并且效果很好。谢谢大家。