SMU*_*hah 2 c# data-binding distinct-values
我有一个表库存(ItemId,名称,大小,价格,其他信息),其中ItemId是主键,名称,大小,价格是唯一的.
当我用名称绑定组合框时,所有重复的名称出现,而我希望每个名称只出现一次,同样的大小.
如何在绑定到数据源的组合框中加载唯一值?
你可以这样做,(你可能需要调整一下才能编译并为你工作)
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();
Run Code Online (Sandbox Code Playgroud)
然后根据所有三个下拉列表的选择找到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.
Run Code Online (Sandbox Code Playgroud)
编辑(使用SQL命令)
select distinct Name from Item
select distinct Size from Item
select distinct Price from Item
Run Code Online (Sandbox Code Playgroud)