c# - 在 C# 中,如何将数组绑定(bind)到 DataGridView 以便显示数组中的值?

标签 c# winforms visual-studio-2010

我使用的是 Visual C# 2010 Express。我有一个像这样的 arr[100][2] 的字符串数组。这是我的 3 行代码

 string FilePath = @"c:\data.txt";
 var arrData = File.ReadLines(FilePath).Select(line => line.Split('\t')).ToArray();
 dataGridView1.DataSource = arrData;

当我运行代码时,我在 DataGridView 控件中看到了 7 个列标题,而不是数组的内容:Length、LongLength、Rank、SyncRoot、IsReadOnly、IsFixedSize 和 IsSynchronized。这是什么?

不知何故,我显示的是数组的属性,而不是数组中实际包含的值。

我知道数组中有合法值,因为当我单步执行代码时,我可以清楚地看到内容(姓名和年龄)。我做错了什么?

最佳答案

首先尝试转换为“对象”列表。我创建了一个测试文件,名字、姓氏和年龄都用制表符分隔以进行测试:

string FilePath = @"c:\data.txt";
var arrData = File.ReadLines(FilePath).Select(line => 
                                              line.Split('\t')).ToArray();

var query = from x in arrData
            select new { FirstName = x[0], LastName = x[1], Age = x[2] };

dataGridView1.DataSource = query.ToList();

我认为您的尝试很容易出错。我会考虑首先将文件转换为实际的对象列表。

关于c# - 在 C# 中,如何将数组绑定(bind)到 DataGridView 以便显示数组中的值?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/12303735/

相关文章:

c# - 将 Sitecore.Data.Items.Item 序列化为 JSON

c# - 两个用户/两个 session 同时从一台 PC 到一个站点?

c# - 以编程方式更新 DataGridView 中的多行

c# - 从 Visual Studio 的属性 Pane 中删除属性

visual-studio-2010 - TFS 和 Visual Studio 缓慢 checkin

c# - 将自定义部分写入 app.config

c# - 如何隐藏 DataGridViewComboBoxColumn 的下拉箭头,如 Visual Studio Properties 窗口?

vb.net - DataGridView Cell、RowHeader 和 ColumnHeader 的不同 ContextMenuStrip

c# - 如何将自定义控件添加到工具箱?

c# - 简单的 Sitecore ASP 转发器 - 访问字段