2014-12-06 80 views
1

我将DataTextFieldDataValueField设置为数据库表中的列。我想将数据库表绑定到下拉列表而不重复

DataValueField将是下拉列表的值,而DataTextField是下拉列表的文本。

该表具有重复值。下拉列表还显示了文本字段中存在的重复值。尽管DataTextfield具有重复值,但我希望在下拉列表中使用唯一值。

下面是我到目前为止的代码:

SqlConnection con = new SqlConnection(CS); 

SqlCommand cmd = new SqlCommand("Select DoctorId, Location from DoctorR", con); 
con.Open(); 

ddlLocation.DataSource= cmd.ExecuteReader(); 
ddlLocation.DataTextField = "Location"; 
ddlLocation.DataValueField = "DoctorId"; 
ddlLocation.DataBind(); 

ListItem liLocation = new ListItem("Select Location", "-1"); 
ddlLocation.Items.Insert(0, liLocation); 

con.Close(); 

Location专栏重复值。我不希望将重复值绑定到下拉列表。

+1

但是如果你有5行重复'位置“但不同的'DoctorId'值 - **你想要显示的那五行中的哪一个**?!?! ?!? – 2014-12-06 09:30:38

+0

让我们说,第一行 – 2014-12-06 09:36:28

+0

它解决了吗?你有下面的评论? – jfun 2014-12-06 10:00:05

回答

2

您必须使用独特从数据库中检索数据时,数据源中的关键字如此 重复值不会出现。只是在你的sqlcommand中试试Select DISTINCT DoctorId,Location from DoctorR而不是Select DoctorId,Location from DoctorR

+0

独特不适用于'位置'。一些我如何得到重复。 – 2014-12-06 09:31:07

+0

所以你的意思是你有一些variouse DoctorIds具有相同的位置?是? – jfun 2014-12-06 09:33:51

+0

是的......我有不同的DoctorIds具有相同的位置 – 2014-12-06 09:38:19