Blazorise DataGrid数值编辑字段小数位数与数据类型不匹配
解决Blazorise DataGrid整数列Inline编辑时显示两位小数的问题
核心原因
DisplayFormat仅控制单元格非编辑状态的显示格式,而Inline编辑模式下,DataGridNumericColumn会渲染NumericEdit组件,该组件默认可能采用带小数的格式,即便绑定的是整数类型字段。
解决方案
方案1:设置EditFormat属性
直接为DataGridNumericColumn添加EditFormat="0",指定编辑模式下的格式:
<DataGrid Data="@myData" EditMode="DataGridEditMode.Inline"> <DataGridNumericColumn Field="@nameof(MyModel.IntField)" DisplayFormat="0" EditFormat="0" /> </DataGrid>
方案2:自定义EditTemplate强制指定格式
如果方案1不生效,通过EditTemplate手动渲染NumericEdit并明确设置Format="0",绕过默认的格式继承:
<DataGrid Data="@myData" EditMode="DataGridEditMode.Inline"> <DataGridNumericColumn Field="@nameof(MyModel.IntField)" DisplayFormat="0"> <EditTemplate> <NumericEdit TValue="int" @bind-Value="@((context as CellEditContext).CellValue)" Format="0" /> </EditTemplate> </DataGridNumericColumn> </DataGrid>
额外检查
确保绑定的字段确实是整数类型(如int、long),而非decimal或double,避免类型本身导致的小数显示。
内容的提问来源于stack exchange,提问作者Soundar Rajan
相关产品推荐
相关产品推荐

