我正在尝试将所有选定的行从一个数据网格复制到另一个数据网格 . 这是我到目前为止一直在尝试做的事情:
private void btnFeedbackSelectSupplier_Click(object sender, RoutedEventArgs e)
{
dgFeedbackAddCost.SelectAll();
IList list = dgFeedbackAddCost.SelectedItems as IList;
IEnumerable<ViewQuoteItemList> items = list.Cast<ViewQuoteItemList>();
//Example of how I want to access the data from the first datagrid and add it to
//the second one.
var item = (new ViewQuoteItemList
{
Item = items.Item,
Supplier = items.Cost
});
//Example
dgFeedbackSelectSupplier.Items.Add(item);
}
我的问题在这里:
var item = (new ViewQuoteItemList
{
Item = items.Item,
Supplier = items.Cost
});
我收到了错误:
'System.Collections.Generic.IEnumerable'不包含'Item'的定义,并且没有扩展方法'Item'可以找到类型'System.Collections.Generic.IEnumerable'的第一个参数(你是否错过了使用指令或程序集引用?)
现在我知道我做错了,只是我不知道我怎么能告诉你我想用代码片段实现什么 .
所以我的问题是,我如何能够从 items
演员中访问该数据并将其添加到我的第二个数据网格的 ViewQuoteItemList
中?
2 回答
您可以使用LINQ获取所有新项目:
这将满足您只需将所选行添加到数据表中的需要 . 然后,如果您只想将它们添加到一起,则可以合并2个数据表 - 然后将源重新绑定到第二个网格 .
参考Here