none
請問DataView.RowFilter可不可以篩選出不重複的資料?! RRS feed

  • 問題

  • 請問DataView.RowFilter可不可以篩選出不重複的資料?!
    我有個DataTable,其中的資料第一個欄位會重複,但第二個欄位並不重複
    兩欄加起來是PK,如
    City,Area
    台中,中區
    台中,西屯區
    台中,北屯區

    有兩個ComboBox1,ComboBox2
    一個放City,一個放Area
    所以想是不是可以用DataView把資料從DataTable中篩選出來,
    只取出指定的欄位(ComboBox1放City的值,不重複;ComboBox2放Area的值,原本即不重複)
    這只是我的想法,不知有沒有其它更好的解決方法?
    感謝大家的提供!!

    PS.
    1.因為原本資料庫的關係(來源DB),DataTable的取得的資料如上所示
    2.因為不想用太多DataTable的想法,所以想是不是有其它方式可以解決
    (我想如果用兩個DataTable即可決解了,不是嗎?)

    2006年3月29日 上午 01:51

解答

  • 你要不要試看看 Combo1 使用 DataTable 當 Data Source,而 Combo2 用 DataTable 過濾過的 DataView (用 RowFilter = "City =" + Combo1.SelectedItem.ToString()) 當做 Data Source ?

    配置如下:

    • Combo1.DataSource = DataTable
    • Combo1.DisplayMember = "City"
    • Combo1.ValueMember = "City"

     

    • Dim dv As DataView = new DataView(DataTable)
    • dv.RowFilter = "City = " + Combo1.SelectedItem.ToString()
    • Combo2.DataSource = dv
    • Combo2.DisplayMember = "Area"
    • Combo2.ValueMember = "Area"

    但程式碼要怎麼放就看你的程式怎麼寫了.

    2006年3月29日 上午 03:00
    版主