我已将一些数据绑定到Kendo网格,我遇到的问题是网格似乎只想显示两个小数位而不是5或6或者经度和纬度列的实际值。
以下是我视图中的代码:
<div class="gridPadding">
@(Html.Kendo().Grid((IEnumerable<DealerPortal.Models.DealerViewModel>)ViewData["DealerResults"])
.Name("dealerSearchResults")
.Columns(columns =>
{
columns.Bound("DealerID");
columns.Bound("DealerName");
columns.Bound("TerminalID");
columns.Bound("Status");
columns.Bound("Address1");
columns.Bound("State");
columns.Bound("PhoneNumber");
columns.Bound("Email");
columns.Bound("Latitude");
columns.Bound("Longitude");
columns.Bound("EpayRetailerID");
})
.DataSource(dataSource => dataSource.Server().Model(model => model.Id(d => d.DealerID)))
.Selectable(selectable => selectable.Mode(GridSelectionMode.Multiple))
.Sortable()
)
</div>
这是DealerViewModel类:
public class DealerViewModel
{
public long DealerID { get; set; }
public string DealerName { get; set; }
public string Address1 { get; set; }
public string PhoneNumber { get; set; }
public string Email { get; set; }
public decimal? Latitude { get; set; }
public decimal? Longitude { get; set; }
public string EpayRetailerID { get; set; }
public string TerminalID { get; set; }
public string State { get; set; }
public char Status { get; set; }
}
当我单步执行代码时,我可以看到ViewData["DealerResults"]
保存经度和纬度的正确值,但网页上显示的网格会在2位小数后将其截断。我只有可以为空的十进制类型来满足我进一步上游的一些错误,但它似乎不应该是问题。
我似乎无法找到格式化这些值的方法,因为有时它们是负值并且小数位数会发生变化。
我尝试了columns.Bound("Latitude").Format("00.000");
,它只创造了每一个价值&#34; 00.000&#34;和columns.Bound("Latitude").Format("##.###");
也创造了每一个价值&#34; ##。###&#34;。
有什么想法吗?谢谢
答案 0 :(得分:6)
尝试columns.Bound("Latitude").Format("{0:n6}");
它将填写所有小数位,直到第6位。希望这会有所帮助。