无法通过在WinForm应用程序中使用BindingList将数据绑定到DataGridView

我正在从Excel文件(.csv)读取数据并将该数据存储到List<String> 。 我想显示这个数据到DataGridView但由于某种原因,我看到在Grid length of Stringlength of String

以下是我的代码:

码:

 private void btnImportFile_Click(object sender, EventArgs e) { OpenFileDialog dialog = new OpenFileDialog(); dialog.Filter = "CSV (Comma delimited) (*.csv)|*.csv"; dialog.FilterIndex = 1; dialog.Multiselect = false; var userClickedOK = dialog.ShowDialog(); if (userClickedOK.ToString().Equals("OK")) { this.lblImportedFileName.Text = dialog.SafeFileName; System.IO.Stream fileStream = dialog.OpenFile(); using (System.IO.StreamReader reader = new System.IO.StreamReader(fileStream)) { var list = new List<String>(); var line = String.Empty; while ((line = reader.ReadLine()) != null) //Reading value and adding it to the list. { list.Add(line); } BindingList<String> view = new BindingList<String>(list); this.gridExcelResults.DataSource = view; // Binding list to grid //Also tried this.gridExcelResults.DataSource = list; // This also gives me same result. } } } 

OUTPUT:

在这里输入图像说明

EXCEL数据:

在这里输入图像说明

预期结果:

我只想在Grid上显示这三个字段。 我在这里做错了什么?

看到这个问题: 如何将List <string>绑定到DataGridView控件?

在你的情况下,你正在使用一个BindingList<string>但逻辑是相同的。 DataGridView正在寻找要绑定的对象属性,但String只有属性长度。