我在同一个表单中使用了两个网格视图,我想将选定的整行传递给另一个网格视图,到目前为止我已经尝试但没有得到它。
答案 0 :(得分:0)
试试这个
internal static class DataGridViewExtensions
{
public static void CloneRowWithValues(this DataGridViewRow SingleRow, DataGridView Target)
{
DataGridViewRow Results = (DataGridViewRow)SingleRow.Clone();
for (Int32 Row = 0; Row < SingleRow.Cells.Count; Row++)
{
Results.Cells[Row].Value = SingleRow.Cells[Row].Value;
}
Target.Rows.Add(Results);
}
}
答案 1 :(得分:0)
这里解决你的问题:
DataGridView1.Rows.Add(DataGridView2.Rows[0].Clone());
0
的实例你可以使用你想要从DGV2移动到DGV1的所选索引。
答案 2 :(得分:0)
来自 Gridview_1的所选行使用此代码&amp;事件(说 RowHeaderMouseClick 事件)
private void dataGridView1_RowHeaderMouseClick(object sender, DataGridViewCellMouseEventArgs e)
{
DataRow r=dataGridView1.Rows[e.RowIndex];
Pass_To_Grid2(r); // Send to Other Grid View..
}
private void Pass_To_Grid2(DataRow r)
{
dataGridView2.Rows.Add(r); /// Must have Same Fields
}
请使用Drag & Drop
等高级功能。这给了一些额外的功能(用户友好的应用程序。)
答案 3 :(得分:0)
private void dataGridView1_SelectionChanged(object sender, EventArgs e)
{
int selectedIndex=dataGridView1.SelectedRows[0].Index;
CopyColumns();
for (int i = 0; i < dataGridView1.Columns.Count; i++)
dataGridView2.Rows[0].Cells[i].Value = dataGridView1.Rows[selectedIndex].Cells[i].Value;
}
void CopyColumns()
{
for (int i = 0; i < dataGridView1.Columns.Count; i++)
dataGridView2.Columns.Add(i.ToString(),dataGridView1.Columns[i].HeaderText);
}