在DropDown列表中选择First Option

时间:2015-08-07 14:22:07

标签: vb.net drop-down-menu oracle10g oledb

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

我面临的问题是:

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

一个例子:

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

那么如何让top选项等于Health并显示下面的其余部分?

enter image description here

我尝试了where category =value,但当然这会让'计算机'成为第一选择。

然后我尝试'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() ,但只显示“健康”作为选项,而不是所有类别选项。

有什么建议吗?

if [[ ! $line =~ [^$VALID] ]]; then
                 ^^^^^^^^^

3 个答案:

答案 0 :(得分:1)

填写组合框后,只需使用SelectedIndexFindString将其FindStringExact设置为您要查找的字符串的索引即可。它们都返回一个整数,这是所需字符串的索引。

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

如果FindStringFindExactString无法找到您指定的内容,则会返回-1

答案 1 :(得分:1)

它有效,所以我在编码结束时使用以下内容(加上我已经拥有的代码来保持“按类别排序”):

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

答案 2 :(得分:0)

“那么如何使顶部选项与健康状况相同并显示下面的其余部分?” 你不能,如果是订单..
1)您可以删除上面的2条记录 或
2)SelectedIndex(2)将注意力集中在健康上
3)我在一个医疗应用程序中面临类似的情况,我在我之前选择的类别(健康状况)中添加了,并从正常位置删除。

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

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