文本导入datagridview单元格,出现目录必须在集合的大小范围之内,不能超过该大小范围或小于零
文本导入datagridview单元格,出现索引必须在集合的大小范围之内,不能超过该大小范围或小于零
1,读取文本到datagridview
public static DataTable TxtToDataTable(string strFileName, char strSplit)
{
DataTable dtReturn = new DataTable();
string[] strFileTexts = File.ReadAllLines(strFileName,System.Text.Encoding.UTF8);
string[] strLineTexts = strFileTexts[0].Split(strSplit);
for (int i = 0; i <strLineTexts.Length; i++)
{
dtReturn.Columns.Add("Columns" + i.ToString());
}
for (int i = 0; i < strFileTexts.Length; i++)
{
strLineTexts = strFileTexts[i].Split(strSplit);
DataRow dr = dtReturn.NewRow();
for (int j = 0; j < strLineTexts.Length; j++)
{
dr[j] = strLineTexts[j].ToString();
}
dtReturn.Rows.Add(dr);
}
}
2,读取绑定数据。
private void myButton1_Click(object sender, EventArgs e)
{
OpenFileDialog fd = new OpenFileDialog();
fd.Filter = "角度文件(*.txt)|*.*";
fd.DefaultExt = ".txt";
DialogResult result = fd.ShowDialog();
string file = fd.FileName;
DataTable dtb1;
dtb1 = TxtToDataTable(file,' ');
anglecmd.DataSource = dtb1;
3, 索引出错的地方。while (MainV2.comPort.cs.Equals(Int32.Parse(this.anglecmd.Rows[j].Cells[0].Value.ToString().Trim()) - 1))
{
i = this.anglecmd.Rows[j].Cells[1].Value.ToString();//值2
cmd(i);
}
分析,文本文件导入到datagridview中的索引结构 a[0][0],a[0][1];
a[1][0],a[1][1];
a[0][0]=this.anglecmd.Rows[0].Cells[0].Value.ToString() 就得到了 第一行第一列的值,但是我在加载文本后,while();时出现第二行就无法索引的问题。按照我的理解,索引由0 开始 1结束,并没有越界,可是计算机就是报错。请教大神们了
------解决方案--------------------
while (MainV2.comPort.cs.Equals(Int32.Parse(this.anglecmd.Rows[j].Cells[0].Value.ToString().Trim()) - 1))
{
i = this.anglecmd.Rows[j].Cells[1].Value.ToString();//值2
1,读取文本到datagridview
public static DataTable TxtToDataTable(string strFileName, char strSplit)
{
DataTable dtReturn = new DataTable();
string[] strFileTexts = File.ReadAllLines(strFileName,System.Text.Encoding.UTF8);
string[] strLineTexts = strFileTexts[0].Split(strSplit);
for (int i = 0; i <strLineTexts.Length; i++)
{
dtReturn.Columns.Add("Columns" + i.ToString());
}
for (int i = 0; i < strFileTexts.Length; i++)
{
strLineTexts = strFileTexts[i].Split(strSplit);
DataRow dr = dtReturn.NewRow();
for (int j = 0; j < strLineTexts.Length; j++)
{
dr[j] = strLineTexts[j].ToString();
}
dtReturn.Rows.Add(dr);
}
}
2,读取绑定数据。
private void myButton1_Click(object sender, EventArgs e)
{
OpenFileDialog fd = new OpenFileDialog();
fd.Filter = "角度文件(*.txt)|*.*";
fd.DefaultExt = ".txt";
DialogResult result = fd.ShowDialog();
string file = fd.FileName;
DataTable dtb1;
dtb1 = TxtToDataTable(file,' ');
anglecmd.DataSource = dtb1;
3, 索引出错的地方。while (MainV2.comPort.cs.Equals(Int32.Parse(this.anglecmd.Rows[j].Cells[0].Value.ToString().Trim()) - 1))
{
i = this.anglecmd.Rows[j].Cells[1].Value.ToString();//值2
cmd(i);
}
分析,文本文件导入到datagridview中的索引结构 a[0][0],a[0][1];
a[1][0],a[1][1];
a[0][0]=this.anglecmd.Rows[0].Cells[0].Value.ToString() 就得到了 第一行第一列的值,但是我在加载文本后,while();时出现第二行就无法索引的问题。按照我的理解,索引由0 开始 1结束,并没有越界,可是计算机就是报错。请教大神们了
------解决方案--------------------
while (MainV2.comPort.cs.Equals(Int32.Parse(this.anglecmd.Rows[j].Cells[0].Value.ToString().Trim()) - 1))
{
i = this.anglecmd.Rows[j].Cells[1].Value.ToString();//值2