创建两个日期之间所有周的数组或列表,并在数据网格视图上显示

本文关键字:列表 数据 数据网 显示 视图 网格 数组 两个 日期 之间 创建 | 更新日期: 2023-09-27 18:33:40

尝试将 datagridview 中的周数显示为列。要选择的两个日期范围,单击按钮,然后在数据网格中将周数显示为列。

我正在尝试按ID和周数创建时间线图

到目前为止,这就是我按天完成的工作,我想从日期中进行选择并获得周数。

var daysCount = DateTime.DaysInMonth(DateTime.Now.Year, 1);
for (int i = 1; i <= daysCount; i++)
{
    grid1.Columns.Add(new DataGridViewColumn() 
    { 
        HeaderText = i.ToString(), 
        CellTemplate = new DataGridViewTextBoxCell() 
    });
}

创建两个日期之间所有周的数组或列表,并在数据网格视图上显示

检查:https://stackoverflow.com/a/3738781/1043068

var start = new DateTime(2013, 9, 23);
var end = new DateTime(2013, 10, 5);
double daysBefore = (start - new DateTime(start.Year, 1, 1)).TotalDays;
int
    weekNumber = (int)Math.Ceiling(daysBefore / 7), // Start Day week number
    currentYear = start.Year; // used to check for a new year
for (var dt = start; dt <= end; dt = dt.AddDays(7))
{
    if (dt.Year > currentYear)
    {
        currentYear = dt.Year;
        weekNumber = 1;
    }
    dataGridView1.Columns.Add(new DataGridViewColumn
    {
        HeaderText = (weekNumber++).ToString(),
        CellTemplate = new DataGridViewTextBoxCell()
    });
}