テーブル Inventory(ItemId,Name,Size,Price,otherinfo) があり、ItemId は主キーで、Name,Size,Price は一意です。
コンボボックスを Name にバインドすると、各名前を一度だけ表示したいときに、繰り返されるすべての名前が表示されます。Size についても同じことが起こります。
データソースにバインドされているコンボボックスに一意の値をロードする方法は?
テーブル Inventory(ItemId,Name,Size,Price,otherinfo) があり、ItemId は主キーで、Name,Size,Price は一意です。
コンボボックスを Name にバインドすると、各名前を一度だけ表示したいときに、繰り返されるすべての名前が表示されます。Size についても同じことが起こります。
データソースにバインドされているコンボボックスに一意の値をロードする方法は?
これを行うことができます(準拠して機能するために少し調整する必要がある場合があります)
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();
次に、3 つすべてのドロップダウン リストの選択に基づいて 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