C# 将搜索的行从DataGridView复制到另一个DataGridView
如何将一行或多行从数据网格视图复制到同一表单上的其他数据网格视图。在这里,我有一个搜索选项,从第一个网格搜索,如果找到一些匹配的行,然后将它们复制到第二个网格。我如何才能做到这一点?您可以这样做:C# 将搜索的行从DataGridView复制到另一个DataGridView,c#,visual-studio-2008,datagridview,datasource,C#,Visual Studio 2008,Datagridview,Datasource,如何将一行或多行从数据网格视图复制到同一表单上的其他数据网格视图。在这里,我有一个搜索选项,从第一个网格搜索,如果找到一些匹配的行,然后将它们复制到第二个网格。我如何才能做到这一点?您可以这样做: ConvertGridToTable(); // Add data in Datatabledt from gridview Clipboard.Clear(); DataObject data = new DataObject(DataFormats.Serializable, Datatable
ConvertGridToTable(); // Add data in Datatabledt from gridview
Clipboard.Clear();
DataObject data = new DataObject(DataFormats.Serializable, Datatabledt);
MessageBox.Show("Data Copied.");
Clipboard.SetDataObject(data);
现在,Datatabledt可在剪贴板中使用,您可以将其粘贴到第二个gridview中,您可以使用以下操作:
DataObject data = (DataObject)Clipboard.GetDataObject();
DataTable dt = (DataTable)data.GetData(DataFormats.Serializable);
foreach (DataRow dr in dt.Rows)
{
dtData.ImportRow(dr);
}
dtData.AcceptChanges();
grdProgramData.DataSource = dtData;
MessageBox.Show("Data Pasted.");
编辑:
对于一行或多行,可以通过循环选定行来实现
编辑
这是ConvertGridToTable中的内容
private void ConvertGridToTable()
{
if (Datatabledt.Rows.Count > 0)
{ }
Datatabledt = dtData.Clone();
foreach (DataGridViewRow gr in YOURGRIDVIEW.SelectedRows)
{
DataRow dc = Datatabledt.NewRow();
dc["KEY-FIELD"] = Int32.Parse(gr.Cells[0].Value.ToString());
.....
Datatabledt.Rows.Add(dc);
}
Datatabledt.AcceptChanges();
}
ConvertGridToTable();你能描述一下这个。。。它是预定义的还是用户定义的?如果它是用户定义的,那么应该做什么以及如何做?@Itz.Irshad更新了我的答案