我有一个包含10行的txt文件,每行是一个包含5个不同字段的记录; 法雷尔,玉,路易丝,2011/09/13,歼
我使用逗号按照FamilyName,FirstName,MiddleName,EnrolmentDate和Gender分割记录。我希望每个字段都有自己的文本框,然后使用按钮查看不同的记录。
到目前为止,所有内容都在加载按钮下工作,该按钮从文件中读取数据并使用下面的代码将其放入文本框中,但是它只显示第一条记录,所以我想要一个按钮来显示下一条记录,以前的记录,第一个和最后一个记录,以及按姓氏从AZ排序数据的按钮。任何有关如何前进的帮助都会很棒!谢谢!
private void Load_BT_Click(object sender, EventArgs e)
{
OpenFileDialog filechooser = new OpenFileDialog();
StreamReader filereader = new StreamReader("StudentFile.txt");
String inputrecord = filereader.ReadLine();
string[] inputfields;
if (inputrecord != null)
{
inputfields = inputrecord.Split(',');
FamName_TXT.Text = inputfields[0];
FirstName_TXT.Text = inputfields[1];
MiddleName_TXT.Text = inputfields[2];
Enrolment_txt.Text = inputfields[3];
Gender_TXT.Text = inputfields[4];
}
else
{
MessageBox.Show("End of File");
}
}
答案 0 :(得分:0)
我认为这里存在一些设计问题,但我会解决您的直接问题。问题是你只读了一行。您需要迭代文本文件中的所有行。我假设您希望加载按钮一次加载所有数据。
string[] allRecords = filereader.ReadAllLines();
foreach(string inputRecord in allRecords) {
string[] inputfields = inputRecord.Split(',');
//insert the textbox.Text += inputfields[0] + "\n"; etc
}
如果您想要一个按钮来跨所有文本框求助数据。
1-3将在加载按钮中完成。 person类的原因是因为您希望从文件中读取的所有数据都与对象相关联。如果你试图直接从文本框中进行排序,就像你试图做的那样,你会遇到诸如如何确保数据不会混乱的问题。它当然可能是可能的,但它不是一种优雅的方式,在我的脑海中会更多的工作