我可以在从 Access DB 填充的组合框的顶部添加额外的行吗

Can I add an extra row, at the top of a combo box that is being populated from an Access DB

我有一个 vb 组合框,其值取自针对 Access 数据库的 SELECT DISTINCT SQL 语句 运行。所选值将用作后续 SELECT 语句中的参数。我担心的是,我希望用户能够避免选择一个值,以便该参数将从下一个 SELECT 语句中删除,或者将使用 * 作为通配符。我不想在 table 中添加一个虚拟行来保存空值或星号,所以我需要找到一些方法来在顶部添加一行来显示它。我不确定 how/where 放置 INSERT 语句以便它显示在组合框的顶部而不是在数据库中。这是我正在使用的代码。我是 VB 的新手,所以选择了这种方法来填充组合框,因为它似乎很容易理解。如果有任何帮助,我将不胜感激。谢谢

    myConnToAccess = New OleDbConnection(myVariables.myStrConnectionString)
    myConnToAccess.Open()
    ds = New DataSet
    tables = ds.Tables
    da = New OleDbDataAdapter("SELECT DISTINCT ProcUserName FROM Processes ORDER BY ProcUserName", myConnToAccess)
    da.Fill(ds, "Processes")
    Dim view1 As New DataView(tables(0))
    With cboUserID
        .DataSource = ds.Tables("Processes")
        .DisplayMember = "ProcUserName"
        .ValueMember = "ProcUserName"
        .SelectedIndex = 0
        .AutoCompleteMode = AutoCompleteMode.SuggestAppend
        .AutoCompleteSource = AutoCompleteSource.ListItems
    End With
    myConnToAccess.Close()

从数据库中提取数据后,您可以在 DataTable 中添加虚拟行,并使用 DataTable.Rows.InsertAt

设置其位置
....
da.Fill(ds, "Processes")
Dim dt As DataTable = ds.Tables("Processes")
Dim row As DataRow = dt.NewRow()
row("ProcUserName") = "(All)"
dt.Rows.InsertAt(row, 0)