【问题标题】:DataGrid thousand seperator WPF in .CS file.CS 文件中的 DataGrid 千位分隔符 WPF
【发布时间】:2018-06-28 04:32:04
【问题描述】:

我需要在 WPF 中为 DataGrid 列添加千位分隔符。我正在将数据绑定到 .cs 文件中的网格。

dataGrid.ItemsSource = data;

在 xaml 文件中,我没有定义列。

<DataGrid Name="DgReplenish" Style="{StaticResource DataGridStyle}" Grid.Row="0" CellStyle="{StaticResource DataGridCellStyle}">
        </DataGrid>

如何在绑定数据后将 thosand 分隔符设置为网格中的第 3 列? 例如,如果值为 15650,我想将其显示为 15,650。

【问题讨论】:

  • 您的问题不清楚,能否请您提供更多细节
  • 您能详细说明“千位分隔符”是什么意思吗?您想在每行中放置一个值为 1000 的列吗?你想要一个 1000 像素宽的列吗?请澄清。谢谢
  • 编辑了问题。请检查

标签: c# wpf data-binding wpfdatagrid


【解决方案1】:

在您的DataGrid 上设置AutoGenerateColumns="False" 并单独定义每一列。然后您可以更好地控制每一列,例如您可以指定数字格式。为了显示千位分隔符,请将N0 用于StringFormat

这是一个例子:

<Window x:Class="WpfApplication11.MainWindow"
        xmlns="http://schemas.microsoft.com/winfx/2006/xaml/presentation"
        xmlns:x="http://schemas.microsoft.com/winfx/2006/xaml"
        xmlns:d="http://schemas.microsoft.com/expression/blend/2008"
        xmlns:mc="http://schemas.openxmlformats.org/markup-compatibility/2006"
        mc:Ignorable="d"
        Title="MainWindow" Height="200" Width="300">
    <Window.Resources>
        <!-- This is just some sample data: -->
        <x:Array x:Key="DemoData" Type="{x:Type Point}">
            <Point X="1234" Y="1234"/>
            <Point X="33" Y="33"/>
            <Point X="444444" Y="444444"/>
            <Point X="0" Y="0"/>
        </x:Array>
</Window.Resources>
    <Grid>
        <DataGrid ItemsSource="{StaticResource DemoData}" AutoGenerateColumns="False">
            <DataGrid.Columns>
                <DataGridTextColumn Header="X (without separators)" Binding="{Binding X}"/>
                <DataGridTextColumn Header="Y (with separators)" Binding="{Binding Y, StringFormat=N0}"/>
            </DataGrid.Columns>
        </DataGrid>
    </Grid>
</Window>

看起来像这样:

【讨论】:

    猜你喜欢
    • 2010-10-27
    • 2011-12-06
    • 1970-01-01
    • 2012-03-05
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多