【问题标题】:Binding Winforms DataGridView to MembershipUserCollection将 Winforms DataGridView 绑定到 MembershipUserCollection
【发布时间】:2011-09-15 12:03:08
【问题描述】:
我正在尝试将 DataGridView 绑定到 MembershipUserCollection,但网格拒绝显示任何用户,即使数据库中有记录也是如此。
根据我在互联网上的研究,我做了以下事情:
MembershipUserCollection x = Membership.GetAllUsers();
gvUsers.DataSource = x;
感谢您的帮助。
【问题讨论】:
标签:
c#
winforms
binding
datagridview
【解决方案1】:
也许这很明显,但我必须从 MemberShipUser 到 MembershipUser 进行细微调整。
将 bindingList 设置为我的数据网格的数据源,效果很好!
【解决方案2】:
问题是你绑定的对象需要实现这些接口之一
IList
IListSource
IBindingList
IBindingView
而 MembershipUserCollection 仅实现 ICollection。
一种解决方案是创建一个实现这些接口之一的包装器/适配器。
这可能有效,但无法在 atm 测试。
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);
}