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




6 Ocak 2018 Cumartesi

C Sharp Form ve Konsol Örnek Uygulamalar



C Sharp Uygulamalar Kim 500 Milyon İster Oyunu Oyna

C Sharp Uygulamalar Mayın Tarlası Oyunu

C Sharp Form Uygulamalar Thread Kullanarak Pastacı ve Tedarikçi Arasında İşlemler Yaptırma

C Sharp Form Artış Oranına Göre Maaş Hesaplama Programı
C Sharp Uygulamalar Var Mısın Yok Musun Oyunu C Sharp Form Sos Oyunu Programı
C Sharp Uygulamalar Kim 500 Milyon İster Oyunu Oyna
C Sharp Form Uygulamalar İnternet Kafe Uygulaması
C Sharp Form Uygulamalar Yılan N Merdiven Oyunu Oyna


C Sharp Form Uygulamalar Yılan N Merdiven Oyunu Oyna

C Sharp Uygulamalar Süreli Sayı Tahmin Oyunu

C Sharp Uygulamalar Yılan Oyunu


C Sharp Uygulamalar Rastgele Seçilen Şehir İsmi Bulmaca Oyunu Oyna

C Sharp Uygulamalar Haritadan Şehir İsmi Bulma Oyunu Oyna

C Sharp Form Uygulamalar Puzzle Oyunu Oyna


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

C Sharp Form Uygulamalar Türkiye İller İlçeler Semtler Mahalleleri ve Posta Kodunu Listeleme Programı



C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme

C Sharp Uygulamalar Modern Hesap Makinesi

C Sharp Uygulamalar Roma Rakamları Çevirici Programı

C Sharp Uygulamaları Chart Kullanarak Birinci - İkinci Dereceden Denklem Grafiği Çizdirme


C Sharp Konsol Uygulamalar Bilgisayarın Ip ve Mac Adreslerini Bulma Programı

C Sharp Konsol Uygulamalarda Matris En Büyük Elemanını Bulma

C Sharp Konsolda Klavyeden Girilen Sayıların Ortalamasını Hesaplama Programı
C Sharp Uygulamlar Otobüs Otomasyon Sistemi Yapımı C Sharp Uygulamalar İçi Dolu Üçgen Çizme
C Sharp Konsol 20 Sayıyı Küçükten Büyüğe ve Büyükten Küçüğe Doğru Sıralama