Kendo UI 网格 - 筛选显示为小数的整数列

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

我正在使用 Kendo UI (2015.3.930) 网格控制,并且网格过滤器行中有一个整数文本框,当我应用过滤器时,该文本框始终为小数。

这是我的代码:

@(Html.Kendo().Grid((IEnumerable<UiController.Lot>)Model.Lots)
    .Name("Grid")
    .Columns(columns =>
    {
        columns.Bound(c => c.LotNumber).Title("Lot No")
            .Filterable(ftb =>ftb.ItemTemplate("NumericFilter"));
        columns.Bound(c => c.BranchName).Title("Branch Name");
    })
    .HtmlAttributes(new { style = "height: 530px;" })
    .Filterable(ftb => ftb.Mode(GridFilterMode.Row))
    .DataSource(dataSource => dataSource
        .Server()
        .Model(model => { model.Id(p => p.Id); })
    )
)

我的脚本部分显示:

<script>
    function NumericFilter(args) {
        args.element.kendoNumericTextBox({
            "spinners": false,
            "format": "n0",
            "decimals": 0,
        });
    }
</script>

对于整数值 10,应用过滤器后显示“10.00”。有没有办法显示没有小数部分的值。

user-interface kendo-ui grid
2个回答
1
投票

我准备了Dojo示例只是为了表明这是可能的。

我没有 MVC 包装器,但看起来,如果你对代码做一些小的修改,它就会起作用:

1]将 Filterable 中的 ItemTemplate 更改为 UI

columns.Bound(c => c.LotNumber).Title("Lot No").Filterable(ftb => ftb.UI("NumericFilter"));

2] 那么你应该能够通过你在问题中显示的语法通过小的(选择器)修改来获得想要的行为

<script>
function NumericFilter(args) {
$(args).kendoNumericTextBox({
    "spinners" : false,
    "format": "n0",
    "decimals": 0,
});
}

1
投票

要自定义此字段,您需要使用cell.template,请按如下方式更新您的代码:

columns.Bound(c => c.LotNumber)
    .Title("Lot No")
    .Filterable(ftb => ftb.Cell(c => c.Template("NumericFilter")));
© www.soinside.com 2019 - 2024. All rights reserved.