如果我的 SQL 表中的条目是 09:00:00,我的单元格要么显示为 09:00:00 之类的东西,要么我输入如下字符串格式:
<DataGridTextColumn Binding="{Binding Path=tin, StringFormat=\{0:hh\\:mm\}}" Header="Time In:"/>
我得到 9:00。如何将其格式化为像“09:00 AM”这样的短时间字符串?
我尝试过使用 StringFormat=t ,它使单元格变为空白。任何使用“t”,单元格都会变为空白。我真的在这里泡菜。
DataGrid 填充了一个名为 displayGrid 的数据集。entryGrid 是 DataGrid 对象。
entryGrid.ItemsSource = displayGrid.Tables[0].DefaultView;
我在这里寻找的是在 XAML 中抛出什么以正确格式化它。我需要从我的 SQL 2008 表中的 09:00:00 到我的数据网格中的 09:00 AM。我在 VS 2012 中使用 C#.Net 和 XAML。我对编码非常陌生,所以我确信这是一个简单的错误或语法错误。感谢您提供的任何帮助。
编辑:
我什至回去了,尝试使用以下代码自动生成列来格式化单元格:
private void ResultsDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
if (e.PropertyType == typeof(DateTime))
{
DataGridTextColumn dataGridTextColumn = e.Column as DataGridTextColumn;
if (dataGridTextColumn.Header.ToString().Equals("wkdate"))
{
dataGridTextColumn.Binding.StringFormat = "{0:d}";
}
if(dataGridTextColumn.Header.ToString().Equals("tin"))
{
dataGridTextColumn.Binding.StringFormat = "{0:t}";
}
}
}
适用于日期但不适用于时间!这让我发疯。提前致谢!