【发布时间】:2014-03-22 04:57:23
【问题描述】:
您好,提前致谢。我在执行我在这里找到的建议时遇到问题:Convert contents of DataGridView to List in C#
我正在从母版页抓取一个 GridView,我需要在表格中添加一行然后重新绑定它。我正在通过母版页上的公共属性访问 GridView,该属性与数据一起返回。所以基本上我已经做到了:
var gsr = master.GridSearchResults;
gsr (gsr != null)
{
var so = new List<MyProperties>();
so = gsr .Rows.OfType<DataGridViewRow>().Select(r => r.Cells.OfType<DataGridViewCell>().Select(c => c.Value).ToArray()).ToList<MyProperties>();
so.Add(new MyProperties()
{
Id = id,
Date = date,
Building = buildingName,
Street = streetName
}
gsr.DataSource = so;
gsr.DataBind();
}
但我收到一个错误,它无法将实例参数类型 System.Collections.Generic.IEnumerable 转换为 System.Collections.Generic.IEnumerable。我认为问题是对数组的调用,但如果我删除它,我只会得到相同错误的变体。
【问题讨论】:
-
你试过用 .AsEnumerable
() 代替 .ToList () 吗? -
它仍然显示相同的错误,但让我对我的示例进行更正,因为现在缺少部分错误。
-
你试过 .Cast
吗? -
GridView 与 DataGridView 不同。它们是不同的对象。 DataGridView 适用于 Windows 窗体,不是吗?而 GridView 用于 ASP.NET。
-
好的,我知道它们是不同的,并且语句不正确,那么从 GridView 中选择行到列表中的正确方法是什么?