C# 将对话框窗体与datagridview行同步的最简单方法?

C# 将对话框窗体与datagridview行同步的最简单方法?,c#,winforms,C#,Winforms,我有一个数据库中具有行id的datagridview。我想打开一个指向同一行的对话框窗体。这样做的语法是什么 Detail.BindingContext = Gridform.BindingContext 因为我的另一个问题很接近 我更新了这个:我更喜欢使用货币管理器的解决方案。我不确定您想做什么。我相信您希望能够在DataGridView中选择一行,执行一些操作以打开与另一个具有相同记录的DGV的对话框,并在对话框中选择该记录 如果这是您想要做的,那么您需要做两件事:获取主窗体的DGV中选

我有一个数据库中具有行id的datagridview。我想打开一个指向同一行的对话框窗体。这样做的语法是什么

Detail.BindingContext = Gridform.BindingContext
因为我的另一个问题很接近


我更新了这个:我更喜欢使用货币管理器的解决方案。

我不确定您想做什么。我相信您希望能够在DataGridView中选择一行,执行一些操作以打开与另一个具有相同记录的DGV的对话框,并在对话框中选择该记录

如果这是您想要做的,那么您需要做两件事:获取主窗体的DGV中选定行的id,然后以编程方式选择另一个DGV中的行。以下是您可以如何做到这一点:

第一步。获取主窗体上所选行的id。
大致像这样的方法应该会奏效:

string id = dataGridView.SelectedRows[0].Cells[colIdColumn.Index].Value.ToString();
其中:
A.具有您提到的id的列名为
colIdColumn

B
id
的数据类型为字符串

验证id后,打开对话框并传递id。当对话框打开时,请转至步骤2

第二步。以编程方式在另一个DataGridView上选择一行
查看返回值出现在BindingSource中的索引的方法,以及选择BindingSource中记录的属性

您的代码可能如下所示:

// Get index of row with your id.
int index = yourBindingSource.Find("YourIdProperty", "Id");
yourBindingSource.Position = index;

希望这能有所帮助

嗨,谢谢你的解决方案,但是我听到了一些类似CurrencyManager的声音,我不能用它来代替吗?