18 Eylül 2018 Salı

Datagridview ve dictioanary kullanarak tabloda tekrarlayan elemanları bir araya toplama


Öğrenci sınav sonuç tablosunda tekrarlaya dataları tek satırda toplam olarak gösterme. Dictionary sınıfından bir örnek oluşturma ve datagridview tablosunu bu nesneden gelen datalar ile doldurma işlemi.

 Dictionary ogrencilerGruplanmis = new Dictionary();

        private void btnGruplandir_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                // sicil 1 nolu kolonda, sicil gruplanmışta var mı kontrol et. Varsa bu satırdaki değerleri olan gruba ekle
                if (ogrencilerGruplanmis.ContainsKey(dataGridView1[1, i].Value.ToString()))
                {
                    Ogrenciler ogrenci = ogrencilerGruplanmis[dataGridView1[1, i].Value.ToString()];

                    ogrenci.DenemeSayisi += int.Parse(dataGridView1[4, i].Value.ToString());
                    ogrenci.YapilanDenemeSayisi += int.Parse(dataGridView1[5, i].Value.ToString());
                    ogrenci.Dogru += int.Parse(dataGridView1[6, i].Value.ToString());
                    ogrenci.Hatali += int.Parse(dataGridView1[7, i].Value.ToString());
                    ogrenci.Yanlis += int.Parse(dataGridView1[8, i].Value.ToString());
                }
                else
                {
                    Ogrenciler ogrenci = new Ogrenciler();

                    ogrenci.SicilNo = int.Parse(dataGridView1[1, i].Value.ToString());
                    ogrenci.Ad = dataGridView1[2, i].Value.ToString();
                    ogrenci.Soyad = dataGridView1[3, i].Value.ToString();
                    ogrenci.DenemeSayisi = int.Parse(dataGridView1[4, i].Value.ToString());
                    ogrenci.YapilanDenemeSayisi = int.Parse(dataGridView1[5, i].Value.ToString());
                    ogrenci.Dogru = int.Parse(dataGridView1[6, i].Value.ToString());
                    ogrenci.Hatali = int.Parse(dataGridView1[7, i].Value.ToString());
                    ogrenci.Yanlis = int.Parse(dataGridView1[8, i].Value.ToString());

                    ogrencilerGruplanmis.Add(ogrenci.SicilNo.ToString(), ogrenci);
                }
            }

            int satir = 0;
            dataGridView2.Rows.Clear();
            foreach (KeyValuePair item in ogrencilerGruplanmis)
            {
                dataGridView2.Rows.Add();

                Ogrenciler ogrenci = item.Value;
                dataGridView2[0, satir].Value = satir + 1;
                dataGridView2[1, satir].Value = ogrenci.SicilNo;
                dataGridView2[2, satir].Value = ogrenci.Ad;
                dataGridView2[2, satir].Value = ogrenci.Soyad;
                dataGridView2[2, satir].Value = ogrenci.DenemeSayisi;
                dataGridView2[2, satir].Value = ogrenci.YapilanDenemeSayisi;
                dataGridView2[2, satir].Value = ogrenci.Dogru;
                dataGridView2[2, satir].Value = ogrenci.Hatali;
                dataGridView2[2, satir].Value = ogrenci.Yanlis;
                satir++;
            }
        }


Ogrenciler sınıfı :

    public class Ogrenciler
    {
        public int SicilNo { get; set; }
        public string Ad { get; set; }
        public string Soyad { get; set; }
        public int DenemeSayisi { get; set; }
        public int YapilanDenemeSayisi { get; set; }
        public int Dogru { get; set; }
        public int Hatali { get; set; }
        public int Yanlis { get; set; }
    }


16 Eylül 2018 Pazar

Datagridview da bir kolonda tekrarlayanları bulup yeni datagridview da tekrarlama sayilarini gösterme

using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;

namespace WindowsFormsApplication2
{
    public partial class Form1 : Form
    {
        public Form1()
        {
            InitializeComponent();
        }

        private void Form1_Load(object sender, EventArgs e)
        {
            for (int i = 0; i < 12; i++)
            {
                dataGridView1.Rows.Add();
            }

            for (int i = 0; i < 3; i++)
            {
                dataGridView1[0, i].Value = "Ahmet";
            }

            for (int i = 3; i < 7; i++)
            {
                dataGridView1[0, i].Value = "Mehmet";
            }

            for (int i = 7; i < 12; i++)
            {
                dataGridView1[0, i].Value = "mustafa";
            }

        }
        Dictionary tekrarlayanSayisi = new Dictionary();
        private void buttonSınıflandır_Click(object sender, EventArgs e)
        {
            for (int i = 0; i < dataGridView1.Rows.Count; i++)
            {
                if (tekrarlayanSayisi.ContainsKey(dataGridView1[0, i].Value.ToString()))
                {
                    tekrarlayanSayisi[dataGridView1[0, i].Value.ToString()] = 
                    int.Parse(tekrarlayanSayisi[dataGridView1[0, i].Value.ToString()].ToString()) + 1;
                }
                else
                {
                    tekrarlayanSayisi.Add(dataGridView1[0,i].Value.ToString(), 1);
                }
            }

            int satir = 0;
            dataGridView2.Rows.Clear();
            foreach (KeyValuePair item in tekrarlayanSayisi )
         {
                dataGridView2.Rows.Add();
                dataGridView2[0, satir].Value = item.Key;
                dataGridView2[1, satir].Value = item.Value;
                satir++;
            }
        }
    }
}


27 Ağustos 2018 Pazartesi

C Sharp Uygulamalar Kitaplık Programı



UYGULAMAYI İNDİR


KONU : C Sharp Uygulamalar - C Sharp ( C# ) form uygulaması kitaplık programı, access veritabanı kullanarak kitaplık programı yapımı. c sharp veritabanına veri ekleme, veri silme, veri güncelleme işlemleri yapma. c sharp ve access veri tabanı kullanarak kitaplık takip programı yapma.





UYGULAMAYI İNDİR

KİTAPLIK PROGRAMI VERİTABANI

KİTAPLIK PROGRAMI KİTAPLAR VE TOOLS SINIFI






using System;
using System.Collections.Generic;
using System.ComponentModel;
using System.Data;
using System.Drawing;
using System.Linq;
using System.Text;
using System.Windows.Forms;
using Kitaplik.Entity;
using Kitaplik.Facade;
using System.Data.SqlClient;
using System.Data.OleDb;

namespace BookCase_FK
{
    public partial class BookCase : Form
    {
        Kitaplar kitap = null;


        public BookCase()
        {
            
            InitializeComponent();
        }

        private void AyanogluKitaplık_Load(object sender, EventArgs e)
        {
            Tools.BaglantiCumlesi = "Provider=Microsoft.ACE.OLEDB.12.0; Data Source=Kitaplar.accdb; Persist Security Info=False;";

            KitaplarTablosunuGüncelle();

            ToplamKayit();

            cmbRafAyrac.SelectedIndex = 0;


            btnKayitGuncelle.Visible = false;
        }

        private void KitaplarTablosunuGüncelle()
        {
            dataGridKitaplar.DataSource = KitaplarFacade.KitaplarDataTableGetir();

            dataGridKitaplar.Columns[0].Visible = false;

            try
            {
                dataGridKitaplar.Columns[1].Width = 60;
                dataGridKitaplar.Columns[2].Width = 120;
                dataGridKitaplar.Columns[3].Width = 120;
                dataGridKitaplar.Columns[4].Width = 120;
                dataGridKitaplar.Columns[5].Width = 80;
                dataGridKitaplar.Columns[6].Width = 90;
                dataGridKitaplar.Columns[7].Width = 60;
                dataGridKitaplar.Columns[8].Width = 60;
                dataGridKitaplar.Columns[9].Width = 80;
                dataGridKitaplar.Columns[10].Width = 145;
            }
            catch (Exception)
            {

                throw;
            }
        }

        private void ToplamKayit()
        { 
            lblToplamKitap.Text = KitaplarFacade.KitapSayisiniGetir().ToString();
            lblToplamKitap.Visible = true;
        }

        private void btnTumKayitlar_Click(object sender, EventArgs e)
        {
            KitaplarTablosunuGüncelle();
        }
 

        private void btnKayitEkle_Click(object sender, EventArgs e)
        {
            try
            {
                kitap = new Kitaplar();

                kitap.KitapNo = int.Parse(txtKitapNo.Text);
                kitap.KitapAdi = txtKitapAdi.Text;
                kitap.YazarAdi = txtYazarAdi.Text;
                kitap.YayinEvi = txtYayinEvi.Text;
                kitap.YayinTarihi = dtpYayinTarihi.Value.Date;
                kitap.Tur = txtTur.Text;
                kitap.RafNo = (int)nudRafNo.Value;
                kitap.RafAyrac = cmbRafAyrac.SelectedItem.ToString();
                kitap.Dil = txtDil.Text;
                kitap.Icerik = txtIcerik.Text;

                int success = KitaplarFacade.KitapEkle(kitap);

                if (success >= 0)
                {
                    KitaplarTablosunuGüncelle();
                    MessageBox.Show("Kayıt başarılı bir şekilde veritabanına eklendi.", "Kayıt Ekle", MessageBoxButtons.OK, MessageBoxIcon.Information);
                }
                ClearTextBoxes(this);
                ToplamKayit();
                KitaplarTablosunuGüncelle();
            }
            catch (Exception)
            {
                MessageBox.Show("Kutuların hepsini doldurunuz...", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            kitap = null;

        }

        public void ClearTextBoxes(Control control)
        {
            foreach (Control c in control.Controls)
            {
                if (c is TextBox)
                    ((TextBox)c).Clear();

                if (c.HasChildren)
                    ClearTextBoxes(c);
            }

            cmbRafAyrac.SelectedIndex = -1;
            dtpYayinTarihi.Value = DateTime.Now;
        }

        
        private void btnAraKitapAdi_Click(object sender, EventArgs e)
        {
            dataGridKitaplar.DataSource = KitaplarFacade.AramaYap(txtBoxArama.Text, "KitapAdi");
        }

        private void btnAraYazarAdi_Click(object sender, EventArgs e)
        {
            dataGridKitaplar.DataSource = KitaplarFacade.AramaYap(txtBoxArama.Text, "Yazar");
        }

        private void btnAraYayimEvi_Click(object sender, EventArgs e)
        {
            dataGridKitaplar.DataSource = KitaplarFacade.AramaYap(txtBoxArama.Text, "YayinEvi");
        }

        private void btnAraDil_Click(object sender, EventArgs e)
        {
            dataGridKitaplar.DataSource = KitaplarFacade.AramaYap(txtBoxArama.Text, "Dil");
        }

        private void btnAraTur_Click(object sender, EventArgs e)
        {
            dataGridKitaplar.DataSource = KitaplarFacade.AramaYap(txtBoxArama.Text, "Tur");
        }
 

        private void btnKayitGuncelle_Click(object sender, EventArgs e)
        {
            if (kitap == null)
            {
                MessageBox.Show("Tablodan bir kitap seçiniz", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            try
            {
                kitap.KitapNo = int.Parse(txtKitapNo.Text);
                kitap.KitapAdi = txtKitapAdi.Text;
                kitap.YazarAdi = txtYazarAdi.Text;
                kitap.YayinEvi = txtYayinEvi.Text;
                kitap.YayinTarihi = dtpYayinTarihi.Value;
                kitap.Tur = txtTur.Text;
                kitap.RafNo = (int)nudRafNo.Value;
                kitap.RafAyrac = cmbRafAyrac.SelectedItem.ToString();
                kitap.Dil = txtDil.Text;
                kitap.Icerik = txtIcerik.Text;
                kitap.KitapID = (int)dataGridKitaplar.CurrentRow.Cells[0].Value;

                int status = KitaplarFacade.KitapGuncelle(kitap);

                if (status == 1)
                    MessageBox.Show("Kayıt başarılı bir şekilde Güncellendi.", "Kayıt Güncelleme", MessageBoxButtons.OK, MessageBoxIcon.Information);

                ClearTextBoxes(this);
                ToplamKayit();
                KitaplarTablosunuGüncelle();

                btnKayitGuncelle.Visible = false;
                kitap = null;
            }
            catch (Exception)
            {
                MessageBox.Show("Kutuların hepsini doldurunuz...", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }
        }

        private void menuHelp_ItemClicked(object sender, ToolStripItemClickedEventArgs e)
        {

        }

        private void btnKayitSil_Click(object sender, EventArgs e)
        {
            if (kitap == null)
            {
                MessageBox.Show("Tablodan bir kitap seçiniz", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
                return;
            }

            DialogResult result = MessageBox.Show("Silmek istediğinize emin misiniz", "Uyarı", MessageBoxButtons.YesNo, MessageBoxIcon.Warning);

            try
            {

                if(DialogResult.Yes == result)
                    KitaplarFacade.KitapSil(kitap.KitapID);
            }
            catch (Exception)
            {
                 MessageBox.Show("Silme işlemi başarısız...", "Hata", MessageBoxButtons.OK, MessageBoxIcon.Error);
            }

            KitaplarTablosunuGüncelle();
        }

        private void dataGridKitaplar_RowEnter(object sender, DataGridViewCellEventArgs e)
        {
            dataGridKitaplar.Rows[e.RowIndex].Selected = true; 
            txtKitapNo.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["KitapNo"].Value.ToString();
            txtKitapAdi.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["KitapAdi"].Value.ToString();
            txtYazarAdi.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["Yazar"].Value.ToString();
            txtYayinEvi.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["YayinEvi"].Value.ToString();
            dtpYayinTarihi.Value = (DateTime)dataGridKitaplar.Rows[e.RowIndex].Cells["YayinTarihi"].Value;
            txtTur.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["Tur"].Value.ToString();
            nudRafNo.Value = Convert.ToDecimal(dataGridKitaplar.Rows[e.RowIndex].Cells["RafNo"].Value);
            cmbRafAyrac.SelectedItem = dataGridKitaplar.Rows[e.RowIndex].Cells["RafAyrac"].Value;
            txtDil.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["Dil"].Value.ToString();
            txtIcerik.Text = dataGridKitaplar.Rows[e.RowIndex].Cells["Icerik"].Value.ToString();

            kitap = new Kitaplar();

            try
            {
                kitap.KitapNo = int.Parse(txtKitapNo.Text);
            }
            catch (Exception)
            {
                kitap.KitapNo = 0;
            }

            kitap.KitapAdi = txtKitapAdi.Text;
            kitap.YazarAdi = txtYazarAdi.Text;
            kitap.YayinEvi = txtYayinEvi.Text;
            kitap.YayinTarihi = dtpYayinTarihi.Value.Date;
            kitap.Tur = txtTur.Text;
            try
            {
                kitap.RafNo = (int)nudRafNo.Value;
            }
            catch (Exception)
            {
                kitap.RafNo = 0;
            }

            kitap.RafAyrac = cmbRafAyrac.SelectedItem.ToString();
            kitap.Dil = txtDil.Text;
            kitap.Icerik = txtIcerik.Text;

            try
            {
                kitap.KitapID = (int)dataGridKitaplar.Rows[e.RowIndex].Cells[0].Value;
                btnKayitGuncelle.Visible = true;
            }
            catch (Exception)
            {
                btnKayitGuncelle.Visible = false;
                btnKayitSil.Visible = false;
            }
        }
 
 

   
    }
}




UYGULAMAYI İNDİR



C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Giriş Formu Oluşturma


C Sharp Form Access Veri Tabanı Kullanarak Kullanıcı Şifre Güncelleme Formu Oluşturma


C Sharp Uygulamalar Kitaplık Programı


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Listbox Kutusunda Listeleme


C Sharp Uygulamalar SQL VeriTabanı Kategorilere Göre Ürünleri Combobox Kutusunda Listeleme