C#:使用 CSV 中的单列填充组合框
C#: Populate Combobox with single column in CSV
我有一个包含多个列的 csv 文件,“PROJECT NAME”、“PROJECT BUILD”。我正在尝试仅使用项目名称列填充组合框。
项目名称列可能有多个重复名称,但重复名称在组合框中只应出现一次,作为 select 的选项。例如:在第 1 列的“项目名称”下,丰田列出了 4 次,本田列出了 8 次。 Combobox 将有 2 个东西,Toyota 和 Honda。
到目前为止,这是我的代码:
// Wehn 形式 Loads___________________________________________________________________________________________________
public void OnLoad(object sender, RoutedEventArgs e)
{
StreamReader sr = new StreamReader(path);
string column = sr.ReadToEnd();
string[] eachColumn = column.Split(',');
foreach (string s in eachColumn)
{
Project_Name_Combobox.Items.Add(s);
}
}
当前代码获取整个 csv 内容(行和列),由组合框下列出的“,”分隔。 :(。任何帮助都是有用的。
您必须从 csv 中分离出行和列,并像下面那样单独存储您需要的任何内容。
public void OnLoad(object sender, RoutedEventArgs e)
{
StreamReader sr = new StreamReader(path);
List<string> ProjectNames = new List<string>();
int lineNumber = 1;
while (!sr.EndOfStream)
{
var EachRow = sr.ReadLine();
var Columns= EachRow.Split(',');
if(lineNumber != 1){
ProjectNames.Add(Columns[0]);
}
lineNumber++;
}
ProjectNames = ProjectNames.Distinct().ToList();
foreach(var projectName in ProjectNames){
Project_Name_Combobox.Items.Add(projectName);
}
}
我有一个包含多个列的 csv 文件,“PROJECT NAME”、“PROJECT BUILD”。我正在尝试仅使用项目名称列填充组合框。
项目名称列可能有多个重复名称,但重复名称在组合框中只应出现一次,作为 select 的选项。例如:在第 1 列的“项目名称”下,丰田列出了 4 次,本田列出了 8 次。 Combobox 将有 2 个东西,Toyota 和 Honda。
到目前为止,这是我的代码:
// Wehn 形式 Loads___________________________________________________________________________________________________
public void OnLoad(object sender, RoutedEventArgs e)
{
StreamReader sr = new StreamReader(path);
string column = sr.ReadToEnd();
string[] eachColumn = column.Split(',');
foreach (string s in eachColumn)
{
Project_Name_Combobox.Items.Add(s);
}
}
当前代码获取整个 csv 内容(行和列),由组合框下列出的“,”分隔。 :(。任何帮助都是有用的。
您必须从 csv 中分离出行和列,并像下面那样单独存储您需要的任何内容。
public void OnLoad(object sender, RoutedEventArgs e)
{
StreamReader sr = new StreamReader(path);
List<string> ProjectNames = new List<string>();
int lineNumber = 1;
while (!sr.EndOfStream)
{
var EachRow = sr.ReadLine();
var Columns= EachRow.Split(',');
if(lineNumber != 1){
ProjectNames.Add(Columns[0]);
}
lineNumber++;
}
ProjectNames = ProjectNames.Distinct().ToList();
foreach(var projectName in ProjectNames){
Project_Name_Combobox.Items.Add(projectName);
}
}