在下拉列表中选择第一个选项

Choose First Option in DropDown list

我的应用程序的工作原理是,用户将 select 具有各种值的 gridview 中的一行。当他们 select 它时,它将重定向到另一个显示所有信息的页面以更新它。

我面临的问题是:

我有一个下拉列表,它不显示数据库中的所有列表选项 + 显示由前一个 sql 语句填充的值作为第一个选项。我该怎么做?

一个例子:

选择的gridview,类别='Health'。一旦 selected,它会重定向到新页面进行更新;但是,category = 'Computers' 是显示的第一个选项,而不是 'Health'

那么如何使顶部选项等于健康并在下面显示其余选项?

我试过 order by category 但当然 'Computer' 是第一个选项。

然后我尝试了 where category =value,但它只显示 'Health' 作为一个选项,而不是所有类别选项。

有什么建议吗?

'index from previous sql statement (Index/Item 2 is category)
Dim categoryV = DsAds.Tables(0).Rows(0).Item(2)

Dim ClassStrCat As OleDbCommand = New OleDbCommand("SELECT * FROM t_cat order by category = '" & categoryV & "'", conn)
   OracleDataAdapterAds.SelectCommand = ClassStrCat
   CategoryList.DataSource = DsAds
   CategoryList.DataMember = "t_class"
   CategoryList.DataBind()

   Dim ClassStrCat2 As OleDbCommand = New OleDbCommand("SELECT * FROM t_cat order by category ", conn)
   Dim OracleDataAdapterAds2 As OleDbDataAdapter = New OleDbDataAdapter
   OracleDataAdapterAds2.SelectCommand = ClassStrCat2

   Dim DsAds2 As DataSet = New DataSet
   DsAds2.Clear()

   OracleDataAdapterAds2.Fill(DsAds2, "t_class")
   CategoryList.DataSource = DsAds2
   CategoryList.DataMember = "t_class"
   CategoryList.DataBind()

填充组合框后,只需使用 FindStringFindStringExact 将其 SelectedIndex 设置为您要查找的字符串的索引。它们都是return一个整数,也就是所需字符串的索引。

CategoryList.SelectedIndex = CategoryList.FindStringExact("Health")

如果FindStringFindExactString找不到您指定的内容,它将return -1

"So How do I make the top option equal Health and display the rest below?"
如果按 ..
订购,则不能 1) 你可以去掉上面的2条记录

2) SelectedIndex(2) 设置关注健康。

3)我在一个医疗app遇到过类似的情况,我在上面添加了我之前选择的类别(健康),并从他的正常位置删除了。

我记得 Paint 是正确的时机..

 Private Sub dgv1_Paint(sender As Object, e As PaintEventArgs) Handles dgv1.Paint
     '.. IF categotyV
 End Sub

它有效,所以我在编码结束时使用以下代码(加上我已经必须保留 "order by category" 的代码):

CategoryList.Items.FindByText(categoryV).Selected = True