datagridview中具有相同时间的平均行值

时间:2017-01-23 14:48:13

标签: c# datagridview

我正在编写这个软件,它读取CSV文件并将其放入datagridview。 在这里,您可以看到该应用程序的图片:

enter image description here

我使用以下代码实现此目的,首先是:

private string[,] LoadCsv(string filename)
        {           
            string whole_file = System.IO.File.ReadAllText(filename);


            whole_file = whole_file.Replace('\n', '\r');
            string[] lines = whole_file.Split(new char[] { '\r' },
                StringSplitOptions.RemoveEmptyEntries);


            int num_rows = lines.Length;
            int num_cols = lines[0].Split(';').Length;


            string[,] values = new string[num_rows, num_cols];


            for (int r = 0; r < num_rows; r++)
            {
                string[] line_r = lines[r].Split(';');
                for (int c = 0; c < num_cols; c++)
                {
                    values[r, c] = line_r[c];
                }
            }           
            return values;
        }

然后这个:

private void btnGo_Click(object sender, EventArgs e)
        {

            string[,] values = LoadCsv(txtFile.Text);
            int num_rows = values.GetUpperBound(0) + 1;
            int num_cols = values.GetUpperBound(1) + 1;

            dgv.Columns.Clear();
            for (int c = 0; c < num_cols; c++)
                dgv.Columns.Add(values[0, c], values[0, c]);


            for (int r = 1; r < num_rows; r++)
            {
                dgv.Rows.Add();
                for (int c = 0; c < num_cols; c++)
                {
                    dgv.Rows[r - 1].Cells[c].Value = values[r, c];
                }
            }
        }   

我现在要问的是,是否有可能在datagridview内或每隔一段时间(需要为1到5分钟的低间隔)平均分析值。

感谢您的帮助!

1 个答案:

答案 0 :(得分:0)

如果我理解你,你想每隔x分钟再读一次csv吗? 也许你可以使用像这样的计时器

var timer = new System.Threading.Timer((e)=&gt; {    LoadCsv(字符串文件名) },null,0,TimeSpan.FromMinutes(5).TotalMilliseconds);