Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/csharp/275.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
C#图表日期时间到日期_C#_Winforms_Charts - Fatal编程技术网

C#图表日期时间到日期

C#图表日期时间到日期,c#,winforms,charts,C#,Winforms,Charts,我有一个绑定到“BindingSource”的图表。 我使用绑定源中的日期列作为X轴,如下所示: chart1.Series["chart"].XValueMember = "Date"); 另一方面,我的问题是它也需要考虑小时/分/秒。(因此,它不是将一天分成一个小节,而是将一天分成几个小节) 有没有办法确保在图表中忽略小时/分钟/秒,而只是将每天的小时/分钟/秒组合在一起?无需更改数据源(查看秒数和其他内容对于使用相同数据源的datagridview非常重要)(同时,是否也可以在数月/数年

我有一个绑定到“BindingSource”的图表。 我使用绑定源中的日期列作为X轴,如下所示:

chart1.Series["chart"].XValueMember = "Date");
另一方面,我的问题是它也需要考虑小时/分/秒。(因此,它不是将一天分成一个小节,而是将一天分成几个小节)

有没有办法确保在图表中忽略小时/分钟/秒,而只是将每天的小时/分钟/秒组合在一起?无需更改数据源(查看秒数和其他内容对于使用相同数据源的datagridview非常重要)(同时,是否也可以在数月/数年内执行此操作?)

图表的完整代码:

BindingSource Datasource= new BindingSource();
Datasource.DataSource = Selected_DataTables;
        chart1.Series.Clear();
        chart1.Series.Add("chart");
        chart1.Series["chart"].XValueMember = "Date";
        chart1.Series["chart"].YValueMembers = "Sales";
        chart1.DataSource = Datasource;
        chart1.DataBind();

(“Selected_DataTables”是可选数据库查询结果的集合)

我的解决方案是复制原始数据表,并将其复制到我的图形数据源。副本对原件没有影响,所以我可以使用下面的代码将其转换为我想要的格式。希望它能帮助别人

    DataTable chart_DateTable = new DataTable();
    chart_DateTable = Selected_DataTables.Copy();


    foreach (DataRow row in chart_DateTable.Rows)
    {

        DateTime test2 = DateTime.Parse(row["Datum"].ToString());
        row["Datum"] = test2.Date;
    }

你不能将数据按日期分组吗?我认为最好创建类似ViewModel的东西,并以希望数据在报告中显示的方式转换数据。为了获得没有小时/分钟/秒的日期,您可以简单地获取日期列的
date
属性。我的意思是在将数据提供给图表之前对数据进行分组。在这种情况下,
Datasource
具体是什么?:)@A.Bakker-请提供填充
数据表的数据的代码。这是唯一相关的代码。