none
在一个基于MFC的Dialog中试图使用datagridview的奇怪问题。 RRS feed

  • 问题

  • VC2008, 一个基于MFC的对话框程序,用CWinFormsControl在这个对话框中使用一些.net的控件。  大部分都没有问题,但用到datagridview的时候, 一切都成功,编译,运行,但就是无法显示出绑定好的数据。 datagridview上一片空白。

    于是google了一下类似情况,只有很少的信息,找到一个帖子很相似  http://www.devnewsgroups.net/group/microsoft.public.dotnet.framework.windowsforms/topic47311.aspx 

    解决方案是

    This is failing because data-binding requires that the bound control have 
    a BindingContext.  Normally the DataGridView would use the BindingContext 
    belonging to the Form it is on, but since the test application’s DataGridView 
    is on an MFC dialog rather than on a Form it cannot use its parent’s context. 
    To use data-binding with the MFC-hosted DataGridView will require that the 
    application either create and manage the BindingContext on its own or host 
    the DataGridView inside a ContainerControl (such as a UserControl) which will 
    manage a binding context for its children. 

    能否有人能指导一下,如何create and manage the BindingContext on its own  或者如何  host 
    the DataGridView inside a ContainerControl (such as a UserControl) which will 
    manage a binding context for its children. 

    刚刚开始学习.net,困扰好久了。 拜托各位指点一下。  非常感谢!!





    • 已移动 Raymond TangModerator 2010年2月4日 8:07 (发件人:.NET Framework 一般性问题讨论区)
    2010年2月4日 5:20

答案

  • 创建一个Windows Forms的user control不会么?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 Nancy Shao 2010年2月16日 2:20
    2010年2月6日 20:56
    版主

全部回复

  • 你好!
         这个控件需要放到WinForm窗体上才能实现数据绑定,放在MFC dialog上不可以啊!
    周雪峰
    2010年2月4日 7:09
    版主
  • 谢谢答复!  不过应该是可以的,你看我上面引用的那个帖子,发帖的人都已经实现了,而且给出了要注意的地方。  只是实在不熟悉.net , 不知道如何

    create and manage the BindingContext on its own 

    或者

    host the DataGridView inside a ContainerControl (such as a UserControl) which will manage a binding context for its children.  

    求解。




    2010年2月4日 11:20
  • 创建一个Windows Forms的user control不会么?

    The following is signature, not part of post
    Please mark the post answered your question as the answer, and mark other helpful posts as helpful.
    Visual C++ MVP
    • 已标记为答案 Nancy Shao 2010年2月16日 2:20
    2010年2月6日 20:56
    版主