Bagikan melalui


Cara: Menavigasi Data di Formulir Windows

Dalam aplikasi Windows, cara term mudah untuk menavigasi melalui rekaman di sumber data adalah dengan mengikat BindingSource komponen ke sumber data dan kemudian mengikat kontrol ke BindingSource. Anda kemudian dapat menggunakan metode navigasi bawaan pada BindingSource , MoveNext, MoveLastMovePrevious dan MoveFirst. Menggunakan metode ini akan menyesuaikan Position properti dan Current yang BindingSource tepat. Anda juga dapat menemukan item dan mengaturnya sebagai item saat ini dengan mengatur Position properti .

Untuk menaikkan posisi dalam sumber data

  1. Atur Position properti untuk data terikat BindingSource Anda ke posisi rekaman untuk masuk ke. Contoh berikut mengilustrasikan menggunakan MoveNext metode untuk menaikkan BindingSourcePosition properti saat nextButton diklik. dikaitkan BindingSource dengan Customers tabel himpunan Northwinddata .

    Catatan

    Position Mengatur properti ke nilai di luar rekaman pertama atau terakhir tidak mengakibatkan kesalahan, karena .NET Framework tidak akan memungkinkan Anda untuk mengatur posisi ke nilai di luar batas daftar. Jika penting dalam aplikasi Anda untuk mengetahui apakah Anda telah melewati rekaman pertama atau terakhir, sertakan logika untuk menguji apakah Anda akan melebihi jumlah elemen data.

    private void nextButton_Click(object sender, System.EventArgs e)
    {
        this.customersBindingSource.MoveNext();
    }
    
    Private Sub nextButton_Click(ByVal sender As Object, _
        ByVal e As System.EventArgs) Handles nextButton.Click
        Me.customersBindingSource.MoveNext()
    End Sub
    

Untuk memeriksa apakah Anda telah melewati akhir atau awal

  1. Membuat penanganan aktivitas untuk peristiwa PositionChanged. Di handler, Anda dapat menguji apakah nilai posisi yang diusulkan telah melebihi jumlah elemen data aktual.

    Contoh berikut menggambarkan bagaimana Anda dapat menguji apakah Anda telah mencapai elemen data terakhir. Dalam contoh, jika Anda berada di elemen terakhir, tombol Berikutnya pada formulir dinonaktifkan.

    Catatan

    Ketahuilah bahwa, jika Anda mengubah daftar yang Anda navigasikan dalam kode, Anda harus mengaktifkan kembali tombol Berikutnya , sehingga pengguna dapat menelusuri seluruh panjang daftar baru. Selain itu, ketahuilah bahwa peristiwa di atas PositionChanged untuk spesifik BindingSource yang Anda kerjakan perlu dikaitkan dengan metode penanganan peristiwanya. Berikut ini adalah contoh metode untuk menangani PositionChanged peristiwa:

    void customersBindingSource_PositionChanged(object sender, EventArgs e)
    {
        if (customersBindingSource.Position == customersBindingSource.Count - 1)
            nextButton.Enabled = false;
        else
            nextButton.Enabled = true;
    }
    
    Sub customersBindingSource_PositionChanged(ByVal sender As Object, _
        ByVal e As EventArgs)
    
        If customersBindingSource.Position = _
            customersBindingSource.Count - 1 Then
            nextButton.Enabled = False
        Else
            nextButton.Enabled = True
        End If
    End Sub
    

Untuk menemukan item dan mengaturnya sebagai item saat ini

  1. Temukan catatan yang ingin Anda atur sebagai item saat ini. Anda dapat melakukan ini menggunakan Find metode BindingSource, jika sumber data Anda menerapkan IBindingList. Beberapa contoh sumber data yang menerapkan IBindingList adalah BindingList<T> dan DataView.

    void findButton_Click(object sender, EventArgs e)
    {
        int foundIndex = customersBindingSource.Find("CustomerID", "ANTON");
        customersBindingSource.Position = foundIndex;
    }
    
    Sub findButton_Click(ByVal sender As Object, ByVal e As EventArgs) _
        Handles findButton.Click
        Dim foundIndex As Integer = customersBindingSource.Find("CustomerID", _
            "ANTON")
        customersBindingSource.Position = foundIndex
    End Sub
    

Baca juga