1. Ten DropDownList potřebuje určitě jiný SqlDataSource, musíte mít ve stránce dva - jeden pro FormView, druhý pro ten DropDownList, protože ten potřebuje jinou tabulku. Dejte druhý datasource hned nad ten DropDownList a napojte ho, stačí mu SelectCommand tak, aby vybral názvy a IDčka kategorií. 2. Tomu DropDownListu přidejte tuto vlastnost (nebojte se, že ji IntelliSense nezná, je záměrně skrytá, aby se ji lidi nesnažili nastavovat nesprávným způsobem):
SelectedValue='<%# Bind("CatID") %>'
Vlastnost DataTextField říká název sloupce, který se zobrazí, a vlastnost DataValueField říká sloupec, jehož hodnota se při vybrání záznamu nastaví právě do SelectedValue. Pokud máte v databázi na sloupci s IDčkem cizí klíč (a tím pádem v tom sloupci nejde nastavit hodnoty, které nejsou v tabulce kategorií), mělo by to fungovat. 3. Pokud chcete umožnit, aby kategorie nebyla vybrána (v tom sloupci může být NULL), přidejte dovnitř DropDownListu tohle:
<asp:ListItem Text="(nevybráno)" Value="" />
A DropDownListu přidejte tohle, aby natažení položek z datasource nepřepsalo ty, které tam už jsou:
AppendDataBoundItems="true"
|