Вы можете сделать это, (вам, возможно, придется немного его настроить, чтобы завершить и работать для вас)
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
Надеюсь, это поможет.
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.
Edit (используйте SQLкоманды)
select distinct Name from Item
select distinct Size from Item
select distinct Price from Item