1

我想使用EditText盒子中的值来过滤ListView.

你能看看我的编码,让我知道我还需要做什么才能让它工作吗?

到目前为止,它只返回 0 行。

Sub ButtonSearchFilterEventHandler_Click
  ' Populate the list.
  '-------------------
  DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
    "FROM VisitResultTypes " & _
    "WHERE ResultDescription = ? " & _
    "ORDER BY ResultDescription", _
    Array As String(EditTextResultDescription.Text), 0, _
    ListViewResults, True)
End Sub

附加子例程:

Sub Activity_Create(FirstTime As Boolean)
  SQL.ExecNonQuery("CREATE TABLE VisitResultTypes " & _
    "(Id INTEGER PRIMARY KEY, ResultDescription TEXT)")
End Sub

这个有效。它显示所有表格行:

Sub PopulateTheListView
 ' Populate the list.
 '-------------------
 DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
    "FROM VisitResultTypes " & _    
    "ORDER BY ResultDescription", _
    Null, 0, ListViewResults, True)
End Sub

我试过这个,但无论我在 EditText 框中输入什么,它都会返回所有行:

Sub ButtonSearchFilterEventHandler_Click
  ' Populate the list.
  '-------------------
  DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
    "FROM VisitResultTypes " & _
    "WHERE ResultDescription LIKE ? " & _
    "ORDER BY ResultDescription", _
    Array As String(EditTextResultDescription.Text & "%"), 0, _
    ListViewResults, True)
End Sub

这一个将数据添加到表中:

SQL.ExecNonQuery2("INSERT INTO VisitResultTypes " & _ 
  "(Id, ResultDescription) " & _
  "VALUES " & _
  "(?, ?)", Array As Object(Null, EditTextResultDescription.Text))
4

1 回答 1

1

更新 - 已解决的问题:

我添加了另一个 EditText 框并使用它来使过滤工作:

DBUtils.ExecuteListView(SQL, "SELECT Id, ResultDescription " & _
  "FROM VisitResultTypes " & _
  "WHERE ResultDescription LIKE " & "'" & EditTextSearchFilter.Text & "%' " & _
  "ORDER BY ResultDescription", Null, 0, ListViewResults, True)
于 2011-11-19T23:04:29.797 回答