CRUD TextFile Tombol Navigasi di .NET C# – Panduan Lengkap

بِسْمِ اللَّهِ Mudah-mudahan Tutorial ini bermanfaat, Dalam artikel ini, kita akan belajar bagaimana membuat CRUD TextFile dengan tombol navigasi di .NET C#. Langkah-langkahnya dijelaskan secara detail sehingga mudah diikuti oleh pemula sekalipun.

Melanjutkan tutorial sebelumnya , berikut ini saya akan menambahkan tombol pada form User yang sudah dibuat. Tombol navigasi ini untuk mempermudah user untuk menuju ke record sebelum atau sesudahnya, atau bisa juga dengan menuju ke record di ketikkan dalam isian.

Langkah Membuat CRUD TextFile dengan Tombol Navigasi

Persiapan

Microsoft Visual Studio 2010
Buat project seperti yang sudah dikerjakan pada tutorial .Net – Membuat project baru dengan Microsoft Visual Studio 2010
Mengerjakan tutorial sebelumnya .Net C# – CRUD TextFile

Pertama

Menyiapkan tombol dan isian untuk navigasi, buka Form User kemudian tambahkan 2 button dan 1 textbox

Untuk memudahkan dalam coding nanti, silakan ganti nama button dan textbox-nya.

  • btnPrev untuk tombol yang berfungsi untuk menuju ke record sebelum record sekarang
  • btnNext untuk tombol yang berfungsi untuk menuju ke record sesudah record sekarang
  • txtRow untuk isian record yang aktif sekarang

Kedua : Contoh Kode CRUD TextFile Tombol Navigasi di .NET C#

Buka class DataUser (DataUser.cs), kemudian tambahkan script berikut

        public int DataCount()
        {
            int count = 0;
            CreateFile();
            try
            {
                fs = new FileStream(data_path, FileMode.Open);
                if (fs.Length > 0)
                {
                    sr = new StreamReader(fs);
                    while (sr.ReadLine() != null)
                    {
                        count++;
                    }
                    sr.Close();
                }
                fs.Close();
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.Message);
                count = 0;
            }
            return count;
        }

        public bool ReadUser(int id, ref string name, ref string passwd)
        {
            int count = 0;
            CreateFile();
            try
            {
                fs = new FileStream(data_path, FileMode.Open);
                sr = new StreamReader(fs);
                string temp = "";
                bool cond = true;
                while (cond == true)
                {

                    if ((temp = sr.ReadLine()) == null)
                    {
                        sr.Close();
                        fs.Close();
                        cond = false;
                        if (count == 0)
                            return false;
                    }


                    if (count == id)
                    {
                        string[] stringSplit = temp.Split(';');
                        int _maxIndex = stringSplit.Length;
                        name = stringSplit[0];
                        passwd = Modules.Decrypt(stringSplit[1]);
                    }
                    count++;

                }

                sr.Close();
                fs.Close();
                return true;
            }
            catch (Exception ee)
            {
                Console.WriteLine(ee.Message);
                return false;
            }

        }

Berikut penjelasan Fungsi diatas

  • DataCount berfungsi untuk mengambil atau menghasilkan jumlah data (record)
  • ReadData berfungsi untuk membaca record berdasarkan row/index (disini diberi nama id) yang menghasilkan nilai balik name dan passwd

Ketiga : Implementasi Tombol Navigasi di CRUD TextFile

Agar bisa berfungsi kita tambahkan coding pada masing-masing tombol dan isian. Disini kita akan menambahkan fungsi yang bernama ReadData yang berfungsi untuk menampilkan recordnya pada textbox yang sudah ada

        private void ReadData(int id)
        {
            string username = "", passwd = "";

            bool result = conDB.ReadUser(id-1, ref username, ref passwd);
            txtUserName.Text = username;
            txtPassword.Text = passwd;
            txtConfirm.Text = passwd;
            if (!result) { MessageBox.Show("Invalid record", "Error", MessageBoxButtons.OK, MessageBoxIcon.Stop); }
        }

Agar bisa tampil pada waktu buka Form User pertama kali, tambahkan event form load dengan klik ganda pada Form User (klik ganda pada bagian form yang kosong). Kurang lebih scriptnya seperti ini

        private void FormUser_Load(object sender, EventArgs e)
        {
            int countData = conDB.DataCount();
            if (countData > 0)
            {
                this.txtRow.Text = "1";
            }
            ReadData(Convert.ToInt32(this.txtRow.Text));
        }

Kemudian untuk btnPrev (klik ganda pada tombol btnPrev) tambahkan script berikut

        private void btnPrev_Click(object sender, EventArgs e)
        {
            int countData = conDB.DataCount();
            int rw = Convert.ToInt32(this.txtRow.Text);
            if (rw > 1)
            {
                this.txtRow.Text = (rw - 1).ToString();
            }
            else
            {
                this.txtRow.Text = countData.ToString();
            }
            ReadData(Convert.ToInt32(this.txtRow.Text));
        }

Jika dipilih/diklik btnPrev maka menuju ke record sebelum record sekarang, kemudian jika sudah sampai pada record paling awal maka akan menuju ke record yang terakhir

Kemudian untuk btnNext (klik ganda pada tombol btnNext) tambahkan script berikut

        private void btnNext_Click(object sender, EventArgs e)
        {
            int countData = conDB.DataCount();
            int rw = Convert.ToInt32(this.txtRow.Text);
            if (rw < countData)
            {
                this.txtRow.Text = (rw + 1).ToString();
            }
            else
            {
                this.txtRow.Text = "1";
            }
            ReadData(Convert.ToInt32(this.txtRow.Text));
        }

Jika dipilih/diklik btnNext maka menuju ke record sesudah record sekarang, kemudian jika sudah sampai pada record yang terakhir maka akan menuju ke record awal

Terakhir Menguji CRUD TextFile dengan Tombol Navigasi

Kurang lebih tampilannya akan seperti ini

Silakan dicoba dan sampai disini sudah selesai. Tutorial berikutnya adalah CRUD lanjutan yaitu Pencarian (Find), Edit dan Delete.

Atau kalau sudah ada gambaran silakan dilanjutkan dan dikembangkan lagi

Mudah-mudahan bermanfaat.

Share

You may also like...

1 Response

  1. You ought to take part in a contest for one of the best websites on the net. I am going to highly recommend this website!

Leave a Reply

Your email address will not be published. Required fields are marked *