簡體   English   中英

使用數據表中的數據時如何過濾datagridview? VB.net

[英]How to filter a datagridview when using data from datatable? VB.net

我已經創建了一個文本框,並希望它按名稱搜索客戶數據庫。 大多數問題使用的是外部數據集,但這只是使用程序中使用csv文件創建的表。

您可以利用BindingSource優勢,將其用作DataGridView的DataSource。 這樣,通過對BindingSource篩選器屬性進行操作,可以根據列名設置任何類型的篩選器。

請檢查以下代碼段:

    Dim dt As New DataTable("Sample")
    dt.Columns.Add("Id")
    dt.Columns.Add("TimeStamp")

    For i As Int32 = 0 To 9999
        dt.Rows.Add(New Object() {i, DateTime.Now})
    Next

    Dim bs As New BindingSource
    bs.DataSource = dt

    bs.Filter = "Id > 10 AND Id < 20"

    DataGridView1.DataSource = bs

如您所見,我定義了一個帶有兩列的DataTable,即“ Id”和“ TimeStamp”。 然后,通過一個簡單的循環,我為我的DataTable填充了一些隨機記錄,從Id = 0到Id = 9999。

之后,我們聲明一個BindingSource,指定其DataSource為我們的DataTable。 在Bindinf源上,我們可以使用Filter屬性,列名稱和公共邏輯運算符來設置任何過濾器。

在我的示例中,我已要求過濾器位於唯一的ID列上,以可視化那些ID在11到19之間的記錄。

然后,我們可以將BindingSource用作我們的DataGridView DataSource。 並且請注意,在分配DataGridView DataSource之前不需要應用過濾器:實際上,在綁定之后,每個過濾器應用程序都會立即在可視化的行上反映出來。

希望這可以幫助

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM