WPF學習筆記(7):DataGrid中數字自定義格式顯示


DataGrid中數據顯示如下圖,數據格式比較雜亂。希望達到以下要求:(1)所有數據保留兩位小數;(2)超過1000的數字顯示千分位;(3)如果數據為0,不顯示。

首先想到用StringFormat進行格式化:

 <DataGridTextColumn Header="借方金額" Binding="{Binding Path=FDebit, StringFormat={}{0:N2}}" Width="200" 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="200" ElementStyle="{StaticResource dgCellRigth}"/>

效果如下:

 


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM