Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/redis/2.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# 如何在datagridview中打印给定数据?_C#_Datagridview - Fatal编程技术网

C# 如何在datagridview中打印给定数据?

C# 如何在datagridview中打印给定数据?,c#,datagridview,C#,Datagridview,程序从hrm文件中读取数据,并解析标题和数据。数据存储在变量中。通过连接字符串testOutput,数据将在控制台中打印。现在如何在datagridview中打印 using System; using System.Collections.Generic; using System.Linq; using System.Text; using System.Threading.Tasks; namespace Project_Test.Data { class Params : Da

程序从hrm文件中读取数据,并解析标题和数据。数据存储在变量中。通过连接字符串testOutput,数据将在控制台中打印。现在如何在datagridview中打印

using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;

namespace Project_Test.Data
{
    class Params : Data
    {
        float Version;
        int Monitor;
        bool IsSMode = true;
        Dictionary<string, char> ModeOrSMode = new Dictionary<string, char>();
        DateTime Date;
        String StartTime;
        String Length;
        int Interval;
        int Upper1;
        int Lower1;
        int Upper2;
        int Lower2;
        int Upper3;
        int Lower3;
        String Timer1;
        String Timer2;
        String Timer3;
        int ActiveLimit;
        int MaxHR;
        int RestHR;
        int StartDelay;
        int VO2max;
        int Weight;

        public Params(string[] lines)
        {
            ParseAndStoreData(lines);
        }

        protected override void ParseAndStoreData(string[] rawData)
        {
            string tempStore;

            Version = float.Parse(rawData[0].Split('=')[1]) / 100;
            Monitor = int.Parse(rawData[1].Split('=')[1]);
            setModeOrSModeValues(rawData[2].Split('=')[1]);

            tempStore = rawData[3].Split('=')[1];

            Date = new DateTime(int.Parse(tempStore.Substring(0, 4)), int.Parse(tempStore.Substring(4, 2)), int.Parse(tempStore.Substring(6, 2)));
            StartTime = rawData[4].Split('=')[1];
            Length = rawData[5].Split('=')[1];
            Interval = int.Parse(rawData[6].Split('=')[1]);
            Upper1 = int.Parse(rawData[7].Split('=')[1]);
            Lower1 = int.Parse(rawData[8].Split('=')[1]);
            Upper2 = int.Parse(rawData[9].Split('=')[1]);
            Lower2 = int.Parse(rawData[10].Split('=')[1]);
            Upper3 = int.Parse(rawData[11].Split('=')[1]);
            Lower3 = int.Parse(rawData[12].Split('=')[1]);
            Timer1 = rawData[13].Split('=')[1];
            Timer2 = rawData[14].Split('=')[1];
            Timer3 = rawData[15].Split('=')[1];
            ActiveLimit = int.Parse(rawData[16].Split('=')[1]);
            MaxHR = int.Parse(rawData[17].Split('=')[1]);
            RestHR = int.Parse(rawData[18].Split('=')[1]);
            StartDelay = int.Parse(rawData[19].Split('=')[1]);
            VO2max = int.Parse(rawData[20].Split('=')[1]);
            Weight = int.Parse(rawData[21].Split('=')[1]);
        }

        private void setModeOrSModeValues(string values)
        {
            switch (Version.ToString())
            {
                case "1.05":
                    {
                        SetModeValues(values);
                    }
                    break;

                case "1.06":
                    {
                        SetSModeValues(values);
                    }
                    break;

                case "1.07":
                    {
                        SetSModeValuesWithAirPressure(values);
                    }
                    break;

                default:
                    break;
            }
        }

        private void SetModeValues(string values)
        {
            IsSMode = false;

            ModeOrSMode.Add("Cad/Alt", values[0]);
            ModeOrSMode.Add("CC data", values[1]);
            ModeOrSMode.Add("US/Euro unit", values[2]);
        }

        private void SetSModeValues(string values)
        {
            ModeOrSMode.Add("Speed", values[0]);
            ModeOrSMode.Add("Cadenence", values[1]);
            ModeOrSMode.Add("Altitude", values[2]);
            ModeOrSMode.Add("Power", values[3]);
            ModeOrSMode.Add("Power Left Right Balance", values[4]);
            ModeOrSMode.Add("Power Pedalling Index", values[5]);
            ModeOrSMode.Add("HR/CC data", values[6]);
            ModeOrSMode.Add("US/Euro unit", values[7]);
        }

        private void SetSModeValuesWithAirPressure(string values)
        {
            SetSModeValues(values);

            ModeOrSMode.Add("Air Pressure", values[8]);
        }

        public void TestDisplayData()
        {
            string testOutput = "Params Data \n";

            testOutput += "Version: " + Version.ToString() + "\n";
            testOutput += "Monitor: " + Monitor.ToString() + "\n";
            testOutput += ((IsSMode) ? "S" : "") + "Mode :" + "\n";

            foreach (KeyValuePair<string, char> item in ModeOrSMode)
            {
                testOutput += "\t\t" + item.Key + " = " + item.Value + "\n";
            }

            testOutput += "\n";

            testOutput += "Date: " + Date.ToString() + "\n"; // date can be formatted
            testOutput += "Start Time: " + StartTime + "\n";
            testOutput += "Length: " + Length + "\n";
            testOutput += "Interval: " + Interval + "\n";
            testOutput += "Upper1: " + Upper1 + "\n";
            testOutput += "Lower1: " + Lower1 + "\n";
            testOutput += "Upper2: " + Upper2 + "\n";
            testOutput += "Lower2: " + Lower2 + "\n";
            testOutput += "Upper3: " + Upper3 + "\n";
            testOutput += "Lower3: " + Lower3 + "\n";
            testOutput += "Timer1: " + Timer1 + "\n"; // 07:04 can be shown as 7 min and 4 seconds
            testOutput += "Timer2: " + Timer2 + "\n";
            testOutput += "Timer3: " + Timer3 + "\n";
            testOutput += "ActiveLimit: " + ActiveLimit + "\n";
            testOutput += "MaxHR: " + MaxHR + "\n";
            testOutput += "RestHR: " + RestHR + "\n";
            testOutput += "StartDelay: " + StartDelay + "\n";
            testOutput += "Vo2max: " + VO2max + "\n";
            testOutput += "Weight: " + Weight + "\n";

            Console.WriteLine(testOutput); // display in console 


            // how to display above data in datagridview
        }
    }
}
使用系统;
使用System.Collections.Generic;
使用System.Linq;
使用系统文本;
使用System.Threading.Tasks;
命名空间项目_Test.Data
{
类参数:数据
{
浮动版本;
int监视器;
bool-IsSMode=true;
字典模式或模式=新字典();
日期时间日期;
字符串起始时间;
字符串长度;
整数区间;
int-Upper1;
int-Lower1;
int-Upper2;
int-Lower2;
int-Upper3;
int较低3;
字符串计时器1;
字符串计时器2;
字符串计时器3;
int-ActiveLimit;
int-MaxHR;
int RestHR;
国际标准时间;
int-VO2max;
整数权重;
公共参数(字符串[]行)
{
ParseAndStoreData(行);
}
受保护的覆盖无效ParseAndStoreData(字符串[]rawData)
{
字符串存储;
Version=float.Parse(rawData[0].Split('=')[1])/100;
Monitor=int.Parse(rawData[1].Split('=')[1]);
SetModeorModeValues(原始数据[2]。拆分('=')[1]);
tempStore=rawData[3]。拆分('=')[1];
Date=newdatetime(int.Parse(tempStore.Substring(0,4)),int.Parse(tempStore.Substring(4,2)),int.Parse(tempStore.Substring(6,2));
StartTime=rawData[4]。拆分('=')[1];
长度=原始数据[5]。拆分('=')[1];
Interval=int.Parse(rawData[6].Split('=')[1]);
Upper1=int.Parse(rawData[7].Split('=')[1]);
Lower1=int.Parse(rawData[8].Split('=')[1]);
Upper2=int.Parse(rawData[9].Split('=')[1]);
Lower2=int.Parse(rawData[10].Split('=')[1]);
Upper3=int.Parse(rawData[11].Split('=')[1]);
Lower3=int.Parse(rawData[12].Split('=')[1]);
Timer1=rawData[13]。拆分('=')[1];
Timer2=rawData[14]。拆分('=')[1];
Timer3=rawData[15]。拆分('=')[1];
ActiveLimit=int.Parse(rawData[16].Split('=')[1]);
MaxHR=int.Parse(rawData[17].Split('=')[1]);
RestHR=int.Parse(rawData[18].Split('=')[1]);
StartDelay=int.Parse(rawData[19].Split('=')[1]);
VO2max=int.Parse(rawData[20].Split('=')[1]);
Weight=int.Parse(rawData[21].Split('=')[1]);
}
私有void setModeorModeValues(字符串值)
{
开关(Version.ToString())
{
案例“1.05”:
{
设置模式值(值);
}
打破
案例“1.06”:
{
设置模式值(值);
}
打破
案例“1.07”:
{
设置模式值与空气压力(值);
}
打破
违约:
打破
}
}
私有void SetModeValues(字符串值)
{
IsSMode=false;
添加(“Cad/Alt”,值[0]);
添加(“CC数据”,值[1]);
ModeOrSMode.添加(“美元/欧元单位”,数值[2]);
}
私有void设置模式值(字符串值)
{
ModeOrSMode.Add(“速度”,值[0]);
添加(“Cadenence”,值[1]);
ModeOrSMode.添加(“高度”,值[2]);
添加(“功率”,值[3]);
ModeOrSMode.Add(“左向右力量平衡”,值[4]);
ModeOrSMode.Add(“电动踏板指数”,值[5]);
添加(“HR/CC数据”,值[6]);
ModeOrSMode.添加(“美元/欧元单位”,数值[7]);
}
private void SetSModeValuesWithAirPressure(字符串值)
{
设置模式值(值);
添加(“空气压力”,数值[8]);
}
public void TestDisplayData()
{
string testOutput=“Params Data\n”;
testOutput+=“版本:”+Version.ToString()+“\n”;
testOutput+=“监视器:”+Monitor.ToString()+“\n”;
testOutput+=((IsSMode)?“S”:“)+”模式:“+”\n”;
foreach(模式或模式中的KeyValuePair项)
{
testOutput+=“\t\t”+项.Key+“=”+项.Value+“\n”;
}
testOutput+=“\n”;
testOutput+=“日期:”+Date.ToString()+“\n”;//日期可以格式化
testOutput+=“开始时间:”+StartTime+“\n”;
testOutput+=“长度:”+Length+“\n”;
testOutput+=“间隔:”+Interval+“\n”;
testOutput+=“Upper1:”+Upper1+“\n”;
testOutput+=“Lower1:”+Lower1+“\n”;
testOutput+=“Upper2:”+Upper2+“\n”;
testOutput+=“Lower2:”+Lower2+“\n”;
testOutput+=“Upper3:+Upper3+”\n”;
testOutput+=“Lower3:”+Lower3+“\n”;
testOutput+=“Timer1:”+Timer1+“\n”//07:04可以显示为7分4秒
testOutput+=“Timer2:”+Timer2+“\n”;
testOutput+=“Timer3:”+Timer3+“\n”;
testOutput+=“ActiveLimit:”+ActiveLimit+“\n”;
testOutput+=“MaxHR:+MaxHR+”\n;
testOutput+=“RestHR:+RestHR+”\n”;
testOutput+=“StartDelay:”+StartDelay+“\n”;
testOutput+=“Vo2max:+Vo2max+”\n;
testOutput+=“权重:”+Weight+“\n”;
Console.WriteLine(testOutput);//在控制台中显示
//如何在datagridview中显示上述数据
}
}
}

显然,您需要一个
DataGridView