我已将我的数据源绑定到下拉列表并且它可以正常工作,但它显示重复项。这是我的代码
Private Sub ddlMasterPids_Load(sender As Object, e As EventArgs) Handles ddlMasterPids.Load
Dim db As New DesignConstructionDataContext
Dim Master = (From Master_Name In db.groups
Where (Master_Name.Master_Name IsNot Nothing)
Select Master_Name).ToList().Distinct()
ddlMasterPids.DataSource = Master
ddlMasterPids.DataTextField = "Master_Name"
ddlMasterPids.DataValueField = "Master_Name"
ddlMasterPids.DataBind()
End Sub
.Distinct()不会抛出错误,但仍然存在重复。我也试过切换distinc和tolist,但仍然忽略了明显的。有什么想法吗?
答案 0 :(得分:1)
您没有选择列Master_Name
,而是选择表Master_Name
中的行。这就是为什么Distinct
没有按预期工作的原因。这些行至少有一列不同。
相反,你想要这个:
Dim Master = (From Master_Name In db.groups
Where Master_Name.Master_Name IsNot Nothing
Select Master_Name.Master_Name).Distinct().ToList()
另请注意,我在Distinct
之前调用ToList
来过滤已在数据库中。