绑定Winform DataGridView到MembershipUserCollection

时间:2011-06-15 12:21:42

标签: c# winforms binding datagridview

我正在尝试将DataGridView绑定到MembershipUserCollection,但即使数据库中有记录,网格也拒绝显示任何用户。

根据我在互联网上的研究,我做了以下几点:

MembershipUserCollection x = Membership.GetAllUsers();

gvUsers.DataSource = x;

感谢您的帮助。

2 个答案:

答案 0 :(得分:2)

问题是你绑定的对象需要实现其中一个接口

  • IList
  • IListSource
  • IBindingList
  • IBindingView

而MembershipUserCollection仅实现ICollection

一种解决方案是创建一个实现其中一个接口的包装器/适配器。


这可能有用,无法测试它。

var collection = Membership.GetAllUsers();
var bindingList = new BindingList<MemberShipUser>();

// If it's only meant for display
bindingList.AllowNew = false;
bindingList.AllowRemove = false;
bindingList.AllowEdit = false;

foreach (MemberShipUser member in collection)
{
    bindingList.Add(member);
}

答案 1 :(得分:1)

也许这很明显,但我不得不从MemberShipUser到MembershipUser进行小调整。

将bindingList设置为我的datagrid的数据源,它工作得很漂亮!