数据绑定组合框中的不同值

发布于 2024-10-13 06:31:14 字数 194 浏览 3 评论 0原文

我有一个表 Inventory(ItemId,Name,Size,Price,otherinfo),其中 ItemId 是主键,Name、Size、Price 是唯一的。
当我用名称绑定组合框时,所有重复的名称都会出现,而我希望每个名称只出现一次,大小也会发生同样的情况。

如何在绑定到数据源的组合框中加载唯一值?

I have a table Inventory(ItemId,Name,Size,Price,otherinfo) where ItemId is primary key and Name,Size,Price are unique.
When I bind the combobox with Name all repeated names appear while i want each name to appear just once, same happens with Size.

How to load unique values in combobox which is bound to a datasource?

如果你对这篇内容有疑问,欢迎到本站社区发帖提问 参与讨论,获取更多帮助,或者扫码二维码加入 Web 技术交流群。

扫码二维码加入Web技术交流群

发布评论

需要 登录 才能够评论, 你可以免费 注册 一个本站的账号。

评论(1

刘备忘录 2024-10-20 06:31:14

您可以这样做(您可能需要稍微调整它才能编译并为您工作)

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

You can do this, (you may have to tweak it a bit to complie and work for you)

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();

And then find the itemID based on the selection of all three dropdown lists.

This is C# and assumes that you have LINQ

Hope this helps.

Edit-- (if no 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.

Edit (use SQL commands)

select distinct Name from Item
select distinct Size from Item
select distinct Price from Item
~没有更多了~
我们使用 Cookies 和其他技术来定制您的体验包括您的登录状态等。通过阅读我们的 隐私政策 了解更多相关信息。 单击 接受 或继续使用网站,即表示您同意使用 Cookies 和您的相关数据。
原文