C# 如何在datagridview中打印给定数据?
程序从hrm文件中读取数据,并解析标题和数据。数据存储在变量中。通过连接字符串testOutput,数据将在控制台中打印。现在如何在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
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