如何将控件绑定到DataGridView

3

我是.NET的新手,所以请耐心等待我的理解 ;)

在我的Windows窗体上,我有一个DataGridView绑定到数据源。由于我的网格是只读的,我有一组控件(文本框、复选框等)在网格外部用于编辑数据。

我希望这些控件与当前选择行绑定。目前,如果我将控件的DataBindings设置为与网格相同的数据源,即使我移动网格中的记录指针,也只显示第一条记录。

我错过了什么?

环境:Windows窗体,C#,Visual Studio 2008。

2个回答

3
为了完全在Visual Studio的数据绑定环境中保持一致,您可以使用两个BindingSources,一个用于DataGridView,另一个用于详细控件。 这与此处找到的示例非常相似:http://msdn.microsoft.com/en-us/library/y8c0cxey.aspx,但是,您将使用自己的控件来显示详细信息,而不是使用详细表。这些控件仍然可以与第二个BindingSource进行数据绑定。或者,只需处理DataGridView上的SelectionChanged事件,并编写代码手动更新控件的值。这第二种方法更加轻量级,性能可能稍微更好。希望这有所帮助!Adam

-1

您想查看DataGridView中可用的自定义DataGridViewColumn类型。 添加特殊列,然后将业务对象列表绑定到网格(或DataSet)。

我认为您甚至可以要求网格根据您提供的对象自动生成合理的列。

我不建议尝试将普通控件直接放入datagrid中,因为有一个基于单元格、列和编辑控件的网格列框架来处理这些内容。在Google上搜索这些词汇(例如DataBinding/DataGridViewEditingControl),我恐怕现在手头没有我的DataGridView资源。


哦,等等,抱歉我重新阅读了一下。你需要查看 BindingContext 对象。


正如您所指出的,这完全没有回答问题。也许您可以重新审查或删除您的答案? - Stephen Turner
图书馆管理员不受欢迎。如果它会触发你的强迫症,请自己做家务。正是因为图书馆管理员的原因我停止使用这个网站,所以我对你对正确性的渴望没有任何同情心。很抱歉,但我们的文化不融合。 - Quibblesome

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接