Значения формата в таблице данных - PullRequest
9 голосов
/ 29 ноября 2010

Есть ли способ отформатировать значения, которые связаны с сеткой данных?Например, у меня есть следующее:

<DataGrid AutoGenerateColumns="False" Height="487" HorizontalAlignment="Left" Margin="12,12,0,0" Name="dgTransactionLog" VerticalAlignment="Top" Width="404">
    <DataGrid.Columns>
        <DataGridTextColumn Binding="{Binding Path=Date}" Header="Date" />
        <DataGridTextColumn Binding="{Binding Path=Payee1.Name}" Header="To/From" />
        <DataGridTextColumn Binding="{Binding Path=Amount}" Header="Amount" />
    </DataGrid.Columns>
</DataGrid>

Я бы хотел, чтобы столбец «Дата» был просто датой (а не временем), а столбец «Сумма» - валютным форматом.Вот как я заполняю сетку данных:

var transactions = TransactionManager.GetTransactions();
dgTransactionLog.ItemsSource = transactions;

Ответы [ 2 ]

20 голосов
/ 29 ноября 2010

Используйте свойство StringFormat:

<DataGridTextColumn Binding="{Binding Path=Date, StringFormat=d}" Header="Date" />
<DataGridTextColumn Binding="{Binding Path=Amount, StringFormat=C}" Header="Amount" />
4 голосов
/ 08 августа 2015

Самый простой способ.здесь в коде ниже используйте ваш языковой код в качестве значения ConverterCulture.Вы можете найти свой язык код здесь

<DataGridTextColumn Binding="{Binding Profit, ConverterCulture='gu-IN' ,StringFormat=c}" Header="Profit" Width="*" MinWidth="80" FontWeight="Normal"/>

вывод будет в местной валюте output screenshot

для любой валютынайти спецификатор stringFormat здесь

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...