WPF学习笔记(7):DataGrid中数字自定义格式显示
DataGrid中数据显示如下图,数据格式比较杂乱。希望达到以下要求:(1)所有数据保留两位小数;(2)超过1000的数字显示千分位;(3)如果数据为0,不显示。

首先想到用StringFormat进行格式化:
<DataGridTextColumn Header="借方金额" Binding="{Binding Path=FDebit, StringFormat={}{0:N2}}" Width="" ElementStyle="{StaticResource dgCellRigth}"/>
效果如下图,希望实现的要求(1)和(2)达到了,但(3)如果数据为0,不显示的要求没有达到。

改为以下方法再试(格式代码分3段,分别为正数格式、负数格式、0格式):
Binding="{Binding Path=FDebit, StringFormat={}{#,##0.00;-#,##0.00;#}}"
提示代码出错,删除掉格式代码中的逗号后则正常:
Binding="{Binding Path=FDebit, StringFormat={}{###0.00;-###0.00;#}}"
如此一来,虽然数字0不显示了,但千分位也不显示了。再次尝试将其中的花括号改为单引号,终于实现了预期要求。
<DataGridTextColumn Header="借方金额" Binding="{Binding Path=FDebit, StringFormat='#,##0.00;-#,##0.00;#'}" Width="" ElementStyle="{StaticResource dgCellRigth}"/>
效果如下:

WPF学习笔记(7):DataGrid中数字自定义格式显示的更多相关文章
- WPF学习笔记-用Expression Blend制作自定义按钮
1.从Blend工具箱中添加一个Button,按住shift,将尺寸调整为125*125; 2.右键点击此按钮,选择Edit control parts(template)>Edit a cop ...
- DevExtreme学习笔记(一) DataGrid中数据提交注意事项
1.数据提交的{}数据需转化json格式 syncPost('/controller/action', { values: JSON.stringify({d:x}) }, function (res ...
- DevExtreme学习笔记(一) DataGrid中数据筛选
config.filterRow = { visible: true, applyFilter: "auto" }; config.headerFilter = { visible ...
- DevExtreme学习笔记(一) DataGrid中MVC分析
@(Html.DevExtreme().DataGrid() .ID("gridContainer") .DataSource(d => d .OData() .Url(&q ...
- DevExtreme学习笔记(一) DataGrid中js分析
1.overviewjs采用 $(function() { $("#gridContainer").dxDataGrid({ dataSource: { store: { type ...
- DevExtreme学习笔记(一) DataGrid中注意事项
1.阻止cell编辑 config.onEditorPreparing = function (e) { if (e.dataField === 'xx' && e.row.data. ...
- python学习笔记(excel中处理日期格式)
涉及到处理excel文件中日期格式数据 这里自己整理下 两种方法 代码如下: @classmethod def get_time(cls, table, nrows): testtime = [] f ...
- ANDROID_MARS学习笔记_S04_008_用Listview、自定义adapter显示返回的微博数据
一.简介 运行结果 二.代码1.xml(1)activity_main.xml <?xml version="1.0" encoding="utf-8"? ...
- WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决
原文:WPF学习笔记(8):DataGrid单元格数字为空时避免验证问题的解决 如下图,在凭证编辑窗体中,有的单元格不需要数字,但如果录入数字后再删除,会触发数字验证,单元格显示红色框线,导致不能执行 ...
随机推荐
- (转)Linux curl命令参数详解
Linux curl命令参数详解 命令:curl在Linux中curl是一个利用URL规则在命令行下工作的文件传输工具,可以说是一款很强大的http命令行工具.它支持文件的上传和下载,是综合传输工具, ...
- (Frontend Newbie)Web三要素(二)
上一篇简单介绍了HTML的基本知识以及一些在开发学习过程中容易忽视的知识点,本篇介绍Web三要素中另一个重要组成部分----层叠样式表(Cascading Style Sheets). CSS 按照一 ...
- Android的存储方式
Android常见的四种存储方式: 1. SharePreference 2. File 3. ContentProvider 4. SQLite 第一种: 保存在应用程序私有的文件夹下---- 只有 ...
- c# xml API操作
LoginInfo loginInfo = new LoginInfo(); xmlNode = _xml.SelectSingleNode(loginUrl); loginInfo.LoginUrl ...
- springboot vue组件写的个人博客系统
个人写的博客管理系统,学习java不到一年 欢迎探讨交流学习 https://github.com/Arsense/ssmBlog 项目地址 如果觉得好的 帮忙star一下 谢谢! 基本技术 环境: ...
- python之迭代器
原文 我们已经知道,可以直接作用于for循环的数据类型有以下几种: 一类是集合数据类型,如list.tuple.dict.set.str等: 一类是generator,包括生成器和带yield的gen ...
- TensorFlow入门:安装常用的依赖模块
TensorFlow运行中常用到一些Python第三方模块: numpy 存储和处理大型矩阵的科学计算包 maplotlib 最著名的绘图库 jupyter scikit-image 图像预处理 li ...
- jqueryUI学习
01.选项卡 拖动按钮<div id="tabs"> <ul> <li><a href="#tabs-1">第一 ...
- mysql 语句学习一 关于系统信息的查询
首先说一下,SQL语句是不区分大小写的. 1.SELECT VERSION(); -- 查询当前版本号 2.SELECT CURRENT_TIME(); -- 查询当前时间 3.S ...
- Canvas知识点汇总
本文主要记录Canvas基础知识汇总. 1.Canvas定义 <canvas> 元素是HTML5中的新元素,通过它可以在网页中绘制出所需的图形.<canvas>标签只是图形的容 ...