嗨,提前谢谢你。我在实现我在这里找到的一个建议时遇到了问题: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<'object[]'>转换为System.Collections.Generic.IEnumerable<'MyProperties'>.我认为问题出在对数组的调用上,但是如果我删除它,那么我只会得到相同错误的一个变体。
发布于 2014-03-22 04:57:24
原来我的问题是,我一开始就不应该获取网格视图,而是获取正在进行会话的网格视图的源代码。所以我是这样解决的:
var master = (Tab)Master;
master.GridSearchResults.DataSource = null;
var sessions = new Sessions();
sessions.SlideOutSource.Add(new MyProperties {
Id = Id,
StartDate = hidStartDate.Value,
Installation = txtInstall.Text,
Command = txtCommand.Text });
master.GridSearchResults.DataSource = sessions.SlideOutSource;
master.GridSearchResults.DataBind(); https://stackoverflow.com/questions/22562794
复制相似问题