c# - C#:用 CSV 中的单列填充组合框
问题描述
我有一个包含多个列的 csv 文件,“项目名称”、“项目构建”。我正在尝试仅使用项目名称列填充组合框。
项目名称列可能有多个重复名称,但重复名称应仅在组合框中出现一次作为选择选项。例如:在第 1 栏中,在“项目名称”下,丰田被列出 4 次,本田被列出 8 次。Combobox 将有 2 个东西,丰田和本田。
到目前为止,这是我的代码:
// Wehn 表单载荷___________________________________________________________________________________________________
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);
}
}
推荐阅读
- r - 如何使用 Rstudio 绘制 EKMA 图
- java - 列出不同的对象,这怎么可能?
- javascript - jquery文件浏览添加和删除但不能从其他输入标签中获取文件,除了第一个
- flutter - 颤振改造@Multipart注释的问题
- php - 动态 url(由斜杠分隔)参数获取数组?(例如:/category,cat1,cat2/types,type1,type2)
- android - 使用选择器更改时,浮动操作按钮图标未居中对齐
- javascript - 布局抖动会导致不正确的绘画吗?
- javascript - 如何从对象键数组中计算剩余值?
- python - 如何打开特定文件,并在下一行写入数据,而不是删除以前的数据?
- transactions - 在运行以太坊节点时,我收到此错误“”恐慌:运行时错误:无效的内存地址或无指针引用“