我有一个表 Inventory(ItemId,Name,Size,Price,otherinfo) ,其中 ItemId 是主键,Name,Size,Price 是唯一的。
当我将组合框与名称绑定时,所有重复的名称都会出现,而我希望每个名称只出现一次,大小也会发生同样的情况。
如何在绑定到数据源的组合框中加载唯一值?
我有一个表 Inventory(ItemId,Name,Size,Price,otherinfo) ,其中 ItemId 是主键,Name,Size,Price 是唯一的。
当我将组合框与名称绑定时,所有重复的名称都会出现,而我希望每个名称只出现一次,大小也会发生同样的情况。
如何在绑定到数据源的组合框中加载唯一值?
你可以这样做,(你可能需要稍微调整一下以符合并为你工作)
ddlName.DataSource = items.Select(item=>item.Name).Distinct().ToList();
ddlName.DataBind();
ddlSize.DataSource = items.Select(item=>item.Size).Distinct().ToList();
ddlSize.DataBind();
ddlPrice.DataSource = items.Select(item=>item.Price).Distinct().ToList();
ddlPrice.DataBind();
然后根据三个下拉列表的选择找到 itemID。
这是 C# 并假设您有 LINQ
希望这可以帮助。
编辑——(如果没有 LINQ)
IList<string> names = new List<string>();
foreach (Item item in Items)
if (!names.Contains(item.Name))
names.Add(name);
ddlName.DataSource = names;
ddlName.DataBind();
//Do similar for price and size.
编辑(使用 SQL 命令)
select distinct Name from Item
select distinct Size from Item
select distinct Price from Item