Merhaba
BindingSource kullanarak Kategoriler formundan KategoriOlustur formuna aşağıdaki şekilde geçerli veriyi göndermeyi başardım. Yeni bir kayıt eklerken eklemede bir sıkıntı yok. Ancak geçerli kaydın güncellenmesi noktasında hiç bir değişiklik olmuyor. Muhtemelen
DataRow tipini DataSource olarak verdiğim için. Ancak başka bir çözüm bulamadım. Acaba neden güncelleşmiyor olabilir? Bu konuda yardımlarınızı rica ediyorum.
Teşekkürler.
//KategoriOlustur formu
public partial class FrmKategoriOLUSTUR : Form
{
public bool Durum = false;
public SoruDbDataSet.KategorilerRow Geçerli;
}
private void FrmKategoriOlustur_Load(object sender, EventArgs e)
{
// TODO: Bu kod satırı 'soruDbDataSet.Kategoriler' tablosuna veri yükler. Bunu gerektiği şekilde taşıyabilir, veya kaldırabilirsiniz.
this.kategorilerTableAdapter.Fill(this.soruDbDataSet.Kategoriler);
//Eğer durum değişkeni True ise düzenle olarak işlem yapacak.
if (Durum == true)
{
this.Text = "Kategori Düzenle";
KategorilerBindingSource.DataSource = Geçerli;
}
else
KategorilerBindingSource.AddNew();
}
private void BtnKaydet_Click(object sender, EventArgs e)
{
KategorilerBindingSource.EndEdit();
kategorilerTableAdapter.Update(soruDbDataSet.Kategoriler);
}
//Kategorilerin listelendiği kategoriler formu
private void FrmKategoriler_Load(object sender, EventArgs e)
{
// TODO: Bu kod satırı 'soruDbDataSet.Kategoriler' tablosuna veri yükler. Bunu gerektiği şekilde taşıyabilir, veya kaldırabilirsiniz.
this.kategorilerTableAdapter.Fill(this.soruDbDataSet.Kategoriler);
ListKategoriler.DataSource = soruDbDataSet.Kategoriler.ToList();
ListKategoriler.DisplayMember = "KategoriAd";
}
SoruDbDataSet.KategorilerRow Geçerli=null;
private void ListKategoriler_SelectedIndexChanged(object sender, EventArgs e)
{
var Current = (SoruDbDataSet.KategorilerRow)ListKategoriler.SelectedItem;
Geçerli = Current;
}
private void BtnKategoriDuzenle_Click(object sender, EventArgs e)
{
FrmKategoriOLUSTUR Duzenle = new FrmKategoriOLUSTUR();
Duzenle.Durum = true;
Duzenle.Geçerli = Geçerli;
Duzenle.ShowDialog();
}