Skip to content

Instantly share code, notes, and snippets.

@k4m4r82
Created October 3, 2018 04:29
Show Gist options
  • Star 0 You must be signed in to star a gist
  • Fork 0 You must be signed in to fork a gist
  • Save k4m4r82/3608831de701da311def0ec2a297350e to your computer and use it in GitHub Desktop.
Save k4m4r82/3608831de701da311def0ec2a297350e to your computer and use it in GitHub Desktop.
lab 03 - FrmMahasiswa.cs
public partial class FrmMahasiswa : Form
{
private IList<Mahasiswa> listOfMahasiswa = new List<Mahasiswa>();
private FrmEntryMahasiswa frmEntry;
public FrmMahasiswa()
{
InitializeComponent();
}
private void FrmMahasiswa_Load(object sender, EventArgs e)
{
InisialisasiListView();
InisialisasiDataDummy();
}
// pengaturan propery listview
private void InisialisasiListView()
{
lvwMahasiswa.View = System.Windows.Forms.View.Details;
lvwMahasiswa.FullRowSelect = true;
lvwMahasiswa.GridLines = true;
lvwMahasiswa.Columns.Add("No.", 30, HorizontalAlignment.Center);
lvwMahasiswa.Columns.Add("Npm", 91, HorizontalAlignment.Left);
lvwMahasiswa.Columns.Add("Nama", 250, HorizontalAlignment.Left);
lvwMahasiswa.Columns.Add("Jenis Kelamin", 90, HorizontalAlignment.Left);
lvwMahasiswa.Columns.Add("Alamat", 200, HorizontalAlignment.Left);
}
private void InisialisasiDataDummy()
{
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0919", Nama = "HERDIANTO", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0920", Nama = "SYELVI NUR DWI JULIANA", JenisKelamin = "Perempuan" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0921", Nama = "MUHAMMAD KHAIRUL RIJAL", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0922", Nama = "YOHANES EUDES ANJAS SUSETYA", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0923", Nama = "ALFADLY SOPANDI", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0924", Nama = "BAGUS PRIYA UTAMA", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0925", Nama = "MUHAMAD RIZAL NURIANANG", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0926", Nama = "IFA DWI PUSPITASARI", JenisKelamin = "Perempuan" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0927", Nama = "MUHAMMAD ZAID HANIF ABDILLAH", JenisKelamin = "Laki-laki" });
listOfMahasiswa.Add(new Mahasiswa { Npm = "17.11.0928", Nama = "DENDY WAHYU PRASETYO", JenisKelamin = "Laki-laki" });
foreach (var obj in listOfMahasiswa)
{
FillToListView(true, obj);
}
}
// method untuk menampilkan data mahasiswa ke listview
private void FillToListView(bool isNewData, Mahasiswa mhs)
{
if (isNewData) // data baru
{
int noUrut = lvwMahasiswa.Items.Count + 1;
ListViewItem item = new ListViewItem(noUrut.ToString());
item.SubItems.Add(mhs.Npm);
item.SubItems.Add(mhs.Nama);
item.SubItems.Add(mhs.JenisKelamin);
item.SubItems.Add(mhs.Alamat);
lvwMahasiswa.Items.Add(item);
}
else // edit data
{
int row = lvwMahasiswa.SelectedIndices[0];
ListViewItem itemRow = lvwMahasiswa.Items[row];
itemRow.SubItems[1].Text = mhs.Npm;
itemRow.SubItems[2].Text = mhs.Nama;
itemRow.SubItems[3].Text = mhs.JenisKelamin;
itemRow.SubItems[4].Text = mhs.Alamat;
}
}
private void btnTambah_Click(object sender, EventArgs e)
{
frmEntry = new FrmEntryMahasiswa("Tambah Data Mahasiswa");
frmEntry.OnSave += FrmEntryMahasiswa_OnSave; // mendaftarkan event handler untuk event OnSave
frmEntry.ShowDialog();
}
/// <summary>
/// Method yang bertugas untuk merespon event OnSave
/// </summary>
/// <param name="obj"></param>
private void FrmEntryMahasiswa_OnSave(Mahasiswa obj)
{
listOfMahasiswa.Add(obj);
FillToListView(true, obj);
}
private void btnPerbaiki_Click(object sender, EventArgs e)
{
if (lvwMahasiswa.SelectedItems.Count > 0)
{
var mhs = listOfMahasiswa[lvwMahasiswa.SelectedIndices[0]];
frmEntry = new FrmEntryMahasiswa("Edit Data Mahasiswa", mhs);
frmEntry.OnUpdate += FrmEntryMahasiswa_OnUpdate; // mendaftarkan event handler untuk event OnUpdate
frmEntry.ShowDialog();
}
else // data belum dipilih
{
MessageBox.Show("Data belum dipilih", "Peringatan", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
}
/// <summary>
/// Method yang bertugas untuk merespon event OnUpdate
/// </summary>
/// <param name="obj"></param>
private void FrmEntryMahasiswa_OnUpdate(Mahasiswa obj)
{
FillToListView(false, obj);
}
private void btnHapus_Click(object sender, EventArgs e)
{
if (lvwMahasiswa.SelectedItems.Count > 0)
{
var mhs = listOfMahasiswa[lvwMahasiswa.SelectedIndices[0]];
var msg = string.Format("Apakah data mahasiswa '{0}' ingin dihapus ?", mhs.Nama);
if (MessageBox.Show(msg, "Konfirmasi", MessageBoxButtons.YesNo,
MessageBoxIcon.Exclamation) == DialogResult.Yes)
{
listOfMahasiswa.Remove(mhs); // hapus objek mahasiswa dari collection
lvwMahasiswa.Items.Clear();
foreach (var obj in listOfMahasiswa)
{
FillToListView(true, obj);
}
}
}
else // data belum dipilih
{
MessageBox.Show("Data belum dipilih", "Peringatan", MessageBoxButtons.OK,
MessageBoxIcon.Exclamation);
}
}
private void btnSelesai_Click(object sender, EventArgs e)
{
this.Close();
}
}
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment