C#Datagridview时间戳(星期一至星期五)和(8 am-3 pm)

时间:2018-11-18 16:59:42

标签: c# datagridview

所以我有一个数据网格,每行都有一个时间戳,时间戳是每天和每周的每个小时。我在重新安排数据网格以使其只有星期一至星期五和上午8点至下午3点的时间戳时遇到麻烦。有谁知道如何重新排列列以仅获取星期一至星期五(上午8点至下午3点)的时间? Datagrid

try
            {
                var endTimeInclusive = DateTime.UtcNow;
                var startTimeInclusive = 
endTimeInclusive.Subtract(TimeSpan.FromHours(hours));

                var bars = client.ListMinuteAggregatesAsync(symbol, 
startTimeInclusive, endTimeInclusive).Result;


                this.Invoke(new Action(delegate ()
                {
                    foreach (var bar in bars.Items)
                    {
                        alpaGrid.Rows.Add(bar.Time.ToString(), symbol, 
bar.Open, bar.High, bar.Low, bar.Close, bar.Volume);


                    }
                }));
            }

1 个答案:

答案 0 :(得分:1)

for(int i = 0; i < alpaGrid.Rows; i++)
{
    DataGridViewRow row = alpaGrid.Rows[i];
    DateTime date = Convert.ToDateTime(row["Timestamp"].Value); //"Timestamp" is your column name

    if(date < .....)
        row.Visible = false;
    else
        row.Visible = true;
}

这样,您将只从dataGridView隐藏行而不删除它。稍后,如果您只想执行相同的循环但不做任何检查row.Visible = true;,则将所有行设置为可见。

另一种方法是使用行过滤,但是不确定如何工作,因为我仅在用dgv.DataSource = ...填充dataGridView时才使用它。

如果您想尝试一下,请查看this question