Witam,
na wstępnie dodam, że dopiero zaczynam przygodę z C# i wcześniej nie pisałem w żadnym innym języku.
Chciałbym napisać formatkę bazową na której byłaby wyświetlana lista i chciałbym żeby po niej dziedziczyły 4 inne formatki. Funkcjonowaniem niczym nie będą się różniły tyle że każda będzie wyświetlała co innego na gridzie i każda będzie posiadała inną karte.
Na formatce bazowej umieściłem DataGridView, BindingSource i kilka buttonów np. Podgląd, Dodaj, Edycja, Usuń.
DataGridView jest podpięty do BindingSource a BindingSource ma podpięty obiekt z którego sczytuje dane.
Jak z listy odpalam kartę podglądu, dodawania lub edycji to zapisuję to w ten sposób:
private void btnDodaj_Click(object sender, EventArgs e)
{
FrmPersonelAdd addPersonel = new FrmPersonelAdd(dgvPersonel.CurrentRow.DataBoundItem as PersonelBE, true);
addPersonel.Text = addPersonel.Text + " - Dodawanie";
addPersonel.ShowDialog();
PrzeladujDataGrid();
}
private void btnPopraw_Click(object sender, EventArgs e)
{
FrmPersonelAdd edtPersonel = new FrmPersonelAdd(dgvPersonel.CurrentRow.DataBoundItem as PersonelBE, false);
edtPersonel.Text = edtPersonel.Text + " - Edycja";
edtPersonel.ShowDialog();
PrzeladujDataGrid();
}
private void btnPodglad_Click(object sender, EventArgs e)
{
FrmPersonelAdd edtPersonel = new FrmPersonelAdd(dgvPersonel.CurrentRow.DataBoundItem as PersonelBE, false, true);
edtPersonel.Text = edtPersonel.Text + " - Podgląd";
edtPersonel.ShowDialog();
}
Formatka do edycji jest napisana tak:
PersonelBE _personel;
PersonelServices _services;
WalidacjeFunction _walidacja;
public bool fCzyAdd;
public bool fCzyView;
public FrmPersonelAdd(PersonelBE aPersonel, bool aCzyAdd, bool aCzyView = false)
{
InitializeComponent();
_personel = aPersonel;
_services = new PersonelServices();
_walidacja = new WalidacjeFunction();
fCzyAdd = aCzyAdd;
fCzyView = aCzyView;
// jesli nie ma dodawania to ma wpisać w textboxy dane
if (!fCzyAdd)
{
tbLogin.Text = _personel.Login.Trim();
tbImie.Text = _personel.Imie.Trim();
tbNazwisko.Text = _personel.Nazwisko.Trim();
tbNrTel.Text = _personel.NrTelefonu.Trim();
tbEMail.Text = _personel.Email.Trim();
tbMiasto.Text = _personel.Miasto.Trim();
tbKodPocztowy.Text = _personel.KodPocztowy;
tbUlica.Text = _personel.Ulica;
tbNrDomu.Text = _personel.NrDomu.Trim();
tbNrLokalu.Text = _personel.NrLokalu.Trim();
if (_personel.CzyKorespondencja == 1)
{
cbAdresDoKor.Checked = true;
tbKorMiasto.Text = _personel.KorMiasto.Trim();
tbKorKodPocztowy.Text = _personel.KorKodPocztowy;
tbKorUlica.Text = _personel.KorUlica;
tbKorNrDomu.Text = _personel.KorNrDomu.Trim();
tbKorNrLokalu.Text = _personel.KorNrLokalu.Trim();
}
if (fCzyView)
{
cbAdresDoKor.Enabled = false;
gbDane.Enabled = false;
gbAdres.Enabled = false;
gbAdresDoKorespondencji.Enabled = false;
btnOK.Visible = false;
btnAnuluj.Text = "OK";
} // fCzyView
} // !fCzyAdd
}
I nie wiem jak zrobić formatkę bazową która zawierała by gotowe metody do który przekazałbym dane potrzebne do wyświetlenia listy np. personelu czy klientów i w jaki sposób uniwersalnie napisać metody do Buton'nów Dodaj, Podgląd, Edycja.