بِسْمِ اللَّهِ Mudah-mudahan Tutorial .Net C# – Membuat CRUD dengan Database Text File (Tombol Navigasi) ini bermanfaat
Melanjutkan tutorial sebelumnya (.Net C# – Membuat CRUD dengan Database Text File), berikut ini saya akan menambahkan tombol navigasi 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.
Persiapan .Net C# – Membuat CRUD dengan Database Text File (Tombol Navigasi)
Yang harus ada:
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# – Membuat CRUD dengan Database Text File
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
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
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
Kurang lebih tampilannya akan seperti ini
Silakan dicoba dan sampai disini sudah selesai untuk Tutorial .Net C# – Membuat CRUD dengan Database Text File (Tombol Navigasi). Tutorial berikutnya adalah CRUD lanjutan yaitu Pencarian (Find), Edit dan Delete.
Atau kalau sudah ada gambaran silakan dilanjutkan dan dikembangkan lagi
Mudah-mudahan bermanfaat.
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!