ItemIdが主キーで、Name、Size、Priceが一意であるテーブルInventory(ItemId、Name、Size、Price、otherinfo)があります。
コンボボックスを名前でバインドすると、繰り返し名前が表示されますが、各名前は一度しか表示されませんが、サイズは同じです。データバインドされたコンボボックス内の異なる値
データソースにバインドされたコンボボックスに一意の値を読み込むにはどうすればよいですか?あなたがこれを行うことができます
ItemIdが主キーで、Name、Size、Priceが一意であるテーブルInventory(ItemId、Name、Size、Price、otherinfo)があります。
コンボボックスを名前でバインドすると、繰り返し名前が表示されますが、各名前は一度しか表示されませんが、サイズは同じです。データバインドされたコンボボックス内の異なる値
データソースにバインドされたコンボボックスに一意の値を読み込むにはどうすればよいですか?あなたがこれを行うことができます
は、
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を見つける(あなたはあなたのためにそれをcomplieするビットと仕事を微調整する必要があります)。
これは、C#で、あなたはこのことができますLINQ
希望を持っていることを前提としています。
Edit--(なし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
LINQを持っていないとどうなりますか?私はネット2.0でそれを作っています。このコードの「項目」とは何ですか? – SMUsamaShah
私はデータセットとテーブルを持っていて、値やSQL自体を取得しています – SMUsamaShah
編集内容を参照してください – Divi
あなたはそれが一意の名前にバインドしたい場合は、あなたがITEMIDにバインドすることはできません。私が理解しているように、ID = 1、Name = Aのようなデータを持つことができます。 ID = 2、Name = A、これは、これらのレコードがキーが異なるため、すでに一意であることを意味します。名前にバインドするだけの場合は、ユーザーがID 1またはID 2から名前Aを選択したかどうかをどのように知ることができますか?私はそれが理にかなったことを願う – Divi
はい、名前にバインドします。サイズと価格の2つのコンボボックスがあります。そのため、ユーザがバスケットを選択した場合は、20を大きくしてユニークなItemIdを返します。 – SMUsamaShah
あなたはこれに対してより良い提案をしていますか?名前、サイズ、価格を選択し、結果としてユニークなitemIdを取得します。 – SMUsamaShah