2012-04-10 11 views
1

Ich habe zehn DropDownLists auf einer Seite. Wenn ich dieselbe Datenquelle für alle verwende, gibt es in allen zehn identische Werte. Gibt es eine Möglichkeit, eine SqlDataSource für alle zehn DropDownLists zu verwenden und nur bestimmte Werte für jede zu erhalten.Distinct Werte in DropDownLists von einer SqlDataSource

Dies ist ein Beispiel Dropdown und SqlDataSource:

<asp:DropDownList ID="DropDownList1" runat="server" DataSourceID="SqlDataSource1" DataTextField="County" DataValueField="County"AppendDataBoundItems="true"></asp:DropDownList> 


<asp:SqlDataSource ID="SqlDataSource1" runat="server" ConnectionString="<%$ ConnectionStrings %>" 
    SelectCommand="SELECT Distinct * FROM [Personal]"></asp:SqlDataSource> 

Vielen Dank im Voraus

+0

Hat jeder Dropdown eine andere Datatextfield und Datavaluefield haben? – JCherryhomes

+0

ja jede dropDownList wird ein anderes DataTextField und DataValueField haben, danke – user973671

Antwort

0

Ich vermute, dass Ihre SQL-Abfrage Betrogenen zurückkehrt, weil Sie select * verwenden. Wenn Sie Datensätze in der Tabelle haben, deren Feld sich von den anderen unterscheidet, z. B. ein Autoinkrement-Primärschlüssel, werden diese ebenfalls zurückgegeben. Distinct stellt sicher, dass das gesamte Recordset einzigartig ist.

Versuchen Sie, Ihre Abfrage auf die Felder zu beschränken, die Sie benötigen.

SELECT Distinct County FROM [Personal] 

prüfen Sie diesen Link: definiert http://www.w3schools.com/sql/sql_distinct.asp

+0

Spare mir die W3Fools Link ... – Darthg8r

+0

In diesem Fall würde ich eine andere SqlDataSource für jede DropDownList benötigen. Trotzdem danke. – user973671