2017-05-12 31 views
0

我想在我的vb程序中篩選列表視圖中的特定項目。我的程序正常工作,但我只想在vb中顯示具體的值。例如,txtbox中顯示的值是1.1,但listview也顯示11.11的值請幫我解決這個問題,因爲我只想爲我的listview顯示1.1值而不是11.11列表視圖篩選vb中的特定值

這是我的代碼:

Private Sub TextBox1_TextChanged(sender As Object, e As EventArgs) Handles txtFilter.TextChanged 
    txtFilter.Text = "" & txtiket.Text & "." & txtiket.Text & "" 
    Try 
     Newdataset("SELECT `ticket_number`, `visit_PDF`, `Pdf_ID`, `Date_Upload` FROM `pdf_vicit_table` WHERE (Pdf_ID LIKE '%" & txtFilter.Text & "%') ORDER BY Pdf_ID ASC") 
     If ds.Tables("a").Rows.Count < 0 Then 
      ListView2.Items.Clear() 
     Else 
      ListView2.Items.Clear() 
      For cnt = 0 To ds.Tables("a").Rows.Count - 1 
       With ListView2.Items.Add(ds.Tables("a").Rows(cnt).ItemArray.GetValue(0).ToString) 
        .SubItems.Add(ds.Tables("a").Rows(cnt).ItemArray.GetValue(1).ToString) 
        .SubItems.Add(ds.Tables("a").Rows(cnt).ItemArray.GetValue(2).ToString) 
        .SubItems.Add(Format(DateValue(ds.Tables("a").Rows(cnt).ItemArray.GetValue(3).ToString()), "yyyy-MM-dd")) 
       End With 
      Next 
     End If 
    Catch ex As Exception 
     MsgBox(ex.Message) 
    End Try 
End Sub 
+1

無關你的問題,但你真的應該學習如何編寫參數化查詢。正如你的代碼所示,惡意用戶可能會刪除數據庫中的所有內容,甚至非惡意用戶可能會使應用程序崩潰。 – jmcilhinney

回答

0

這與您的ListView完全無關。這是你的數據庫查詢:

Newdataset("SELECT `ticket_number`, `visit_PDF`, `Pdf_ID`, `Date_Upload` FROM `pdf_vicit_table` WHERE (Pdf_ID LIKE '%" & txtFilter.Text & "%') ORDER BY Pdf_ID ASC") 

你特別告訴數據庫,讓您在您的TextBox值在任何地方Pdf_ID包含的任何記錄。如果你真正想要的只是記錄那個列等於一個特定值的記錄,那就說出來,而不是說你需要任何類似的值。

Newdataset("SELECT `ticket_number`, `visit_PDF`, `Pdf_ID`, `Date_Upload` FROM `pdf_vicit_table` WHERE (Pdf_ID = '" & txtFilter.Text & "') ORDER BY Pdf_ID ASC") 
+0

好吧生病嘗試做這個代碼!謝謝! – Charles

+0

非常感謝你的回答!我的程序現在正在工作。非常感謝!我怎麼能標記這個問題的答案?哈哈哈 – Charles