Har*_*ald 1 c# wpf datagrid date
我有一个特殊的问题,首先看起来很容易,但我不知道任何解决方案。目前我编写了一个 C#-WPF 应用程序,可以保存预订。预订也有日期,这是我从日历上获取的。我将预订保存到我的 Sql-Express 数据库中,日期的值是“DD.MM.YYYY”,数据类型是日期。
现在,我将数据加载到应用程序中的数据网格中:
    public DataSet SaveDataToDataSet(DataSet dataset)
    {
        string connectionString = "Data Source=.\\SQLEXPRESS;AttachDbFilename=C:\\Users\\Harald\\Desktop\\Farmer´s Calc\\Programmierung\\WPF\\Finanz_WPF\\Finanz_WPF\\FarmersCalc.mdf;Integrated Security=True;User Instance=True";
        string query = "select bezeichnung 'Bezeichnung', einausgaben 'Einnahmen-Ausgaben',  kostenstelle 'Kostenstelle',  datum 'Buchungsdatum', betrag 'Betrag', details 'Details' from Buchung";
        using (SqlConnection connection =
            new SqlConnection(connectionString))
        {
            SqlDataAdapter adapter = new SqlDataAdapter();
            adapter.SelectCommand = new SqlCommand(
                query, connection);
            adapter.Fill(dataset);
            return dataset;
        }
    }
奇怪的是,DataGrid 中的日期列的格式为“DD.MM.YYYY HH:MM:SS”,但我只想要“DD.MM.YYYY”!我需要说的是,我没有定义列,我使用 AutoGenerateColumns=true 来定义它。有人知道解决方案吗?
看一下这个:
它涉及在您的网格资源中使用字符串格式。
那里的答案不涉及定义列......包括在自动生成列的事件中处理它。
private void ResultsDataGrid_AutoGeneratingColumn(object sender, DataGridAutoGeneratingColumnEventArgs e)
{
    if (e.PropertyType == typeof(DateTime))
    {
        DataGridTextColumn dataGridTextColumn = e.Column as DataGridTextColumn;
        if (dataGridTextColumn != null)
        {
            dataGridTextColumn.Binding.StringFormat = "{0:d}";
        }
    }
}