我试图将DataGridView绑定到MembershipUserCollection,但网格拒绝显示任何用户,即使数据库中有记录。将WinForms DataGridView绑定到MembershipUserCollection
根据我在互联网上的研究,我做了以下内容:
MembershipUserCollection x = Membership.GetAllUsers();
gvUsers.DataSource = x;
感谢你的帮助。
我试图将DataGridView绑定到MembershipUserCollection,但网格拒绝显示任何用户,即使数据库中有记录。将WinForms DataGridView绑定到MembershipUserCollection
根据我在互联网上的研究,我做了以下内容:
MembershipUserCollection x = Membership.GetAllUsers();
gvUsers.DataSource = x;
感谢你的帮助。
的问题是,您绑定到需要的对象来实现这些接口
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);
}
也许这很明显,但我不得不从MemberShipUser到MembershipUser的小调整。
设置bindingList作为我的数据网格的数据源,它工作的很棒!
'x.Count!= 0'? – InBetween 2011-06-15 12:28:20
是的,我检查了x.count = 3 – AbZy 2011-06-15 12:29:16