pur*_*ppc 3 c# file-io streamreader
private void open(object sender, EventArgs e)
{
OpenFileDialog openDialog = new OpenFileDialog();
if (openDialog.ShowDialog() == DialogResult.OK)
{
string[] lines = File.ReadAllLines(openDialog.FileName);
foreach (string line in lines)
{
var text = line.Split(',', '\n');
dataGridView1.Rows.Add(text);
}
}
}
Run Code Online (Sandbox Code Playgroud)
所以在这段代码中我可以读取一个文本文件,但我只能像在1格一样.以下是示例文本文件的外观:
test,1,2,3,4,5,6,
testing,7,8,9,10,11,12,
working,13,14,15,16,17,18,
multiline,19,20,21,22,23,24,
NEXTDATA
see,25,26,36,46,56,66,
program,7,8,9,10,11,12,
macroer,13,14,15,16,17,18,
readextra,19,20,21,22,23,24,
Run Code Online (Sandbox Code Playgroud)
因此,如果我到达名为"NEXTDATA"的行,我希望将数据放入其中dataGridView2.如何检查它是否到达该行,然后它将执行与代码相同的操作dataGridView1?
我也使用ReadLine()或ReadAllLines()?
尝试使用这样的东西:
var targetGridView = dataGridView1;
foreach (string line in lines)
{
if (line == "NEXTDATA")
{
targetGridView = dataGridView2;
continue;
}
var text = line.Split(',', '\n');
targetGridView.Rows.Add(text);
}
Run Code Online (Sandbox Code Playgroud)
或者如果你需要之间来回切换dataGridView1,并dataGridView2,试试这个:
var targetGridView = dataGridView1;
foreach (string line in lines)
{
if (line == "NEXTDATA")
{
targetGridView = (targetGridView == dataGridView1)
? dataGridView2 : dataGridView1;
continue;
}
var text = line.Split(',', '\n');
targetGridView.Rows.Add(text);
}
Run Code Online (Sandbox Code Playgroud)
存储对GridView您要添加的引用..然后根据需要翻转它:
var currentGridView = dataGridView1;
foreach (string line in lines)
{
if (line == "NEXTDATA") {
currentGridView = dataGridView2;
continue;
}
var text = line.Split(',', '\n');
currentGridView.Rows.Add(text);
}
Run Code Online (Sandbox Code Playgroud)