- Mesajlar
- 1,085
arkadaşlar aşağıda textbox4 ve textbox6'nın changed olaylarım var. bu kutulara veri girilince ilgili verinin bazı satır bilgileri datagridview2'de görünüyor. çalışıyor sorun da yok. ama ben bu işi projemde 7 tane textbox için yapıyorum ve aynı işi yapmasına rağmen aynı komutları 7 defa yazmak istemiyorum, tek fark her textbox farklı veritabanından veri atıyor datagridview'e, örneğin textbox4 cari_kart tablosundan, textbox6 stok_karti tablosundan.
Aynı işi yapan textbox komutlarım için nasıl class oluştururum, ben form.cs'de sadece veri tabanının adını yazıp class'a gönderip sorgulama ve veri yükleme işlemini class.css dosyasında yaptırmak istiyorum, mantığım var ama bilgim yok, yardım eder misiniz? celikümit,togius hocam nerdesiniz?
private void textBox4_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************
if (menukontrol == 1)
{
bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";
if (bag.State == ConnectionState.Closed)
{
bag.Open();
}
sorgu = "select firma_kodu,firma_adi,risk_limiti,alacak,borc from cari_kart";
veri = new SqlDataAdapter(sorgu, bag);
DataSet al = new DataSet();
veri.Fill(al, "cari_kart");
arabul = new DataView();
arabul.Table = al.Tables["cari_kart"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;
arabul.RowFilter = "firma_kodu='"+textBox4.Text+"'";
int adet = dataGridView2.Rows.Count - 1;
int a, b, c;
string risk, alacak;
for (int i = 0; i < adet; i++)
{
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");
a = Convert.ToInt32(risk); //minimum seviye
b = Convert.ToInt32(alacak); // mevcut miktar
c = b - a;
if (c < 0) // alacak risk'in altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[2].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
}
}
bag.Close();
}
//********************************************
}
//TEXTBOX'a girilen stok kodunun bilgileri Datagridview2'de görünecek.
private void textBox6_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************
if (menukontrol == 1)// Stok Hareketleri menüsüne tıklandıysa alttaki işlemleri yapsın,menukontrol stok hareketlerine girişin üstünde tanımlandı.
{
bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";
if (bag.State == ConnectionState.Closed)
{
bag.Open();
}
sorgu = "select stok_kodu,stok_adi,tedarik_sureci,minimum_seviye,mevcut_miktar from stok_karti";
veri = new SqlDataAdapter(sorgu, bag);
DataSet al = new DataSet();
veri.Fill(al, "stok_karti");
arabul = new DataView();
arabul.Table = al.Tables["stok_karti"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;
arabul.RowFilter = "stok_kodu='"+textBox6.Text+"'"; //ARAMA komutu
int adet = dataGridView2.Rows.Count;
int a, b, c;
for (int i = 0; i < adet; i++)
{
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");
a = Convert.ToInt32(dataGridView2.Rows.Cells[3].Value); //minimum seviye
b = Convert.ToInt32(dataGridView2.Rows.Cells[4].Value); // mevcut miktar
c = b - a;
if (c < 0) // Mevcut miktar minimum seviyenin altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[4].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[2].Style.ForeColor = Color.Red;
}
}
bag.Close();
}
//********************************************
}
Aynı işi yapan textbox komutlarım için nasıl class oluştururum, ben form.cs'de sadece veri tabanının adını yazıp class'a gönderip sorgulama ve veri yükleme işlemini class.css dosyasında yaptırmak istiyorum, mantığım var ama bilgim yok, yardım eder misiniz? celikümit,togius hocam nerdesiniz?
private void textBox4_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************
if (menukontrol == 1)
{
bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";
if (bag.State == ConnectionState.Closed)
{
bag.Open();
}
sorgu = "select firma_kodu,firma_adi,risk_limiti,alacak,borc from cari_kart";
veri = new SqlDataAdapter(sorgu, bag);
DataSet al = new DataSet();
veri.Fill(al, "cari_kart");
arabul = new DataView();
arabul.Table = al.Tables["cari_kart"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;
arabul.RowFilter = "firma_kodu='"+textBox4.Text+"'";
int adet = dataGridView2.Rows.Count - 1;
int a, b, c;
string risk, alacak;
for (int i = 0; i < adet; i++)
{
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");
a = Convert.ToInt32(risk); //minimum seviye
b = Convert.ToInt32(alacak); // mevcut miktar
c = b - a;
if (c < 0) // alacak risk'in altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[2].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
}
}
bag.Close();
}
//********************************************
}
//TEXTBOX'a girilen stok kodunun bilgileri Datagridview2'de görünecek.
private void textBox6_TextChanged(object sender, EventArgs e)
{
//*******TABLOYU FORMA ATIYORUZ***************
if (menukontrol == 1)// Stok Hareketleri menüsüne tıklandıysa alttaki işlemleri yapsın,menukontrol stok hareketlerine girişin üstünde tanımlandı.
{
bag = new SqlConnection();
bag.ConnectionString = "Data Source=PC_MAVI_10;Initial Catalog=tekstil;User ID=fatih;Password=122112";
if (bag.State == ConnectionState.Closed)
{
bag.Open();
}
sorgu = "select stok_kodu,stok_adi,tedarik_sureci,minimum_seviye,mevcut_miktar from stok_karti";
veri = new SqlDataAdapter(sorgu, bag);
DataSet al = new DataSet();
veri.Fill(al, "stok_karti");
arabul = new DataView();
arabul.Table = al.Tables["stok_karti"]; //ARAMA işlemi için dataset ile datagridview arasına DATAVİEW koyduk. FİND ve CURRENCYMANAGER ile arıyoruz.
dataGridView2.DataSource = arabul;
arabul.RowFilter = "stok_kodu='"+textBox6.Text+"'"; //ARAMA komutu
int adet = dataGridView2.Rows.Count;
int a, b, c;
for (int i = 0; i < adet; i++)
{
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
risk = dataGridView2.Rows.Cells[2].Value.ToString();
risk = risk.Replace(".", "");
risk = risk.Replace("TL", "");
// TL ve . olan verimizi int tipine dönüştürmek için temizliyoruz.
alacak = dataGridView2.Rows.Cells[3].Value.ToString();
alacak = alacak.Replace(".", "");
alacak = alacak.Replace("TL", "");
a = Convert.ToInt32(dataGridView2.Rows.Cells[3].Value); //minimum seviye
b = Convert.ToInt32(dataGridView2.Rows.Cells[4].Value); // mevcut miktar
c = b - a;
if (c < 0) // Mevcut miktar minimum seviyenin altına düştüyse renk veriyoruz.
{
dataGridView2.Rows.Cells[3].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[4].Style.BackColor = Color.Yellow;
dataGridView2.Rows.Cells[2].Style.ForeColor = Color.Red;
}
}
bag.Close();
}
//********************************************
}