0
有這樣的結構的文件是:填充列表框
companyname1; shortname1; identification1; 01.01.1980 companyname2; shortname2; identification2; 1987年1月1日 companyname3; shortname3; identification3; 1990年1月1日 companyname4; shortname4; identification4; 23.01.1995
我想把所有的「companynameX」放到listbox1中,當每個項目被點擊時,相關的「identificationX」將顯示在文本框中。 我很愚蠢,爲了這個簡單的任務,我使用了DataTable。它不起作用,列表框填充了一個項目,文本框填充了這個「System.Data.DataRowView」。爲什麼它不工作,以及如何以更優雅的方式完成我的任務?
foreach (string line in File.ReadAllLines(@"D:\file.txt"))
{
string[] parts = line.Split(';');
DataSet ds = new DataSet();
DataTable dt = new DataTable("dt");
DataColumn dc;
DataRow dr;
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "First";
dt.Columns.Add(dc);
dc = new DataColumn();
dc.DataType = System.Type.GetType("System.String");
dc.ColumnName = "Second";
dt.Columns.Add(dc);
ds.Tables.Add(dt);
for (int j = 2; j < parts.Length; j += 4)
{
for (int k = 0; k < parts.Length; k += 4)
{
dr = dt.NewRow();
dr["First"] = parts[j];
dt.Rows.Add(dr);
dr = dt.NewRow();
dr["Second"] = parts[k];
dt.Rows.Add(dr);
}
}
listBox1.DataSource = dt;
listBox1.DisplayMember = "First";
listBox1.ValueMember = "Second";
}
private void listBox1_SelectedIndexChanged(object sender, EventArgs e)
{
string value = listBox1.SelectedItem.ToString();
textBox1.Text = value;
}