【发布时间】:2014-02-19 15:59:51
【问题描述】:
我需要一个显示来自 C# 结构的数据的 Windows DataGridView。有谁知道我可以学习的任何例子吗? Internet 上的所有示例都使用 SQL 或 Oracle 或 Access 数据库。但是,我只需要一个 C# 表类型的结构,其中包含几行和几列来填充我的 DataGridView。
谢谢
【问题讨论】:
标签: c# winforms datagridview
我需要一个显示来自 C# 结构的数据的 Windows DataGridView。有谁知道我可以学习的任何例子吗? Internet 上的所有示例都使用 SQL 或 Oracle 或 Access 数据库。但是,我只需要一个 C# 表类型的结构,其中包含几行和几列来填充我的 DataGridView。
谢谢
【问题讨论】:
标签: c# winforms datagridview
【讨论】:
DataGridViews 可以使用本地存储的 BindingList (http://msdn.microsoft.com/en-us/library/ms132679%28v=vs.110%29.aspx) 作为 DataSource。
【讨论】:
如果我理解你的问题。
是的,这可以通过数据表实现。数据行一一迭代,直接赋值给datagridview。
我在这里发布一个例子:
foreach (DataRow rows in dt.Rows)
{
int n = dataGridView1.Rows.Add();
dataGridView1.Rows[n].Cells[0].Value = rows[0].ToString();
dataGridView1.Rows[n].Cells[1].Value = rows[1].ToString();
dataGridView1.Rows[n].Cells[2].Value = rows[2].ToString();
dataGridView1.Rows[n].Cells[3].Value = rows[3].ToString();
}
【讨论】:
正如其他人指出的那样,您可以使用 DataGridView (DGV) 以非绑定或绑定方式工作。
我的偏好是始终使用绑定模式,因为这种方法允许您“忽略”DGV 内部(大部分时间),然后您可以简单地更改网格绑定到的基础数据,并让Windows 窗体的数据绑定机制完成了它的工作。
当我说您可以忽略 DGV 内部时,我的意思是您不必开始处理 DGV 事件来设置或获取数据进出它。你让数据绑定来做。
正如其他人所提到的,您可以将 DGV 绑定到几乎任何实现 IEnumerable 的东西,因此如果您有一个自定义对象列表,DGV 会将其作为其数据源。
我希望你在这方面取得成功。
干杯
【讨论】: