İki tarih arasındaki farka göre datagridview satırını renklendir — Csharp
İki tarih arasındaki farka göre datagridview satırını renklendir — Csharp
Soru :
Son ödeme tarihinin bugünün tarihine 3 günden az kalmışsa (3 dahil) satır arka plan rengini Kırmızı , 3-7 (3 ve 7 dahil değil) arasında ise Sarı yapan program.
Program çalıştırıldığı esnada Tarih: 13.05.2014
using System; using System.Collections.Generic; using System.ComponentModel; using System.Data; using System.Drawing; using System.Linq; //www.gorselprogramlama.com using System.Text; using System.Windows.Forms; using System.Data.OleDb; namespace fatura_takip { public partial class Form2 : Form { public OleDbConnection bag = new OleDbConnection("Provider=Microsoft.ace.Oledb.12.0;Data Source=data.accdb"); public OleDbDataAdapter adtr = new OleDbDataAdapter(); public DataTable tablo = new DataTable(); TimeSpan fark; double farkGun; //www.gorselprogramlama.com public Form2() { InitializeComponent(); } public void listele() { tablo.Clear(); //www.gorselprogramlama.com OleDbDataAdapter adtr = new OleDbDataAdapter("select * From kisibil ", bag); adtr.Fill(tablo); dataGridView1.DataSource = tablo; } void renklendir() { for (int i = 0; i < dataGridView1.Rows.Count - 1; i++) { fark = Convert.ToDateTime(dataGridView1.Rows[i].Cells["sonOdemeTarihi"].Value.ToString()) - Convert.ToDateTime(DateTime.Now.ToShortDateString()); farkGun = fark.TotalDays; //www.gorselprogramlama.com if ( farkGun <= 3) dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Red; else if (farkGun > 3 && farkGun < 7) dataGridView1.Rows[i].DefaultCellStyle.BackColor = Color.Yellow; //www.gorselprogramlama.com } } private void Form2_Load(object sender, EventArgs e) { listele(); dataGridView1.Columns[0].Visible = false; renklendir(); dataGridView1.Columns[1].HeaderText = "Kişi Adı"; dataGridView1.Columns[2].HeaderText = "Kişi Soyadı"; dataGridView1.Columns[3].HeaderText = "Fatura Cinsi"; dataGridView1.Columns[4].HeaderText = "Fatura Tarihi"; dataGridView1.Columns[5].HeaderText = "Son Ödeme Tarihi"; dataGridView1.Columns[6].HeaderText = "Miktar"; dataGridView1.Columns[7].HeaderText = "Tutar"; } //www.gorselprogramlama.com } }
hocam iki tarih arasında sorgu yapıp sonucu datagridde gösterebilirmiyiz
rast :
rast :
1. yol –>
SqlConnection baglanti=new SqlConnection(“Initial Catalog=urunsatis;Data Source=.;Integrated Security=true”);
SqlDataAdapter adaptor=new SqlDataAdapter(“select * from satislar where tarih>=’” + datetimepicker1.text + “‘ and tarih
SqlDataAdapter da = newSqlDataAdapter(“select İsim,Adres from Cadoli where [Son işlem Tarihi] between ‘” + datetimepicker1.ToShortDateString() + “‘ and ‘” + datetimepicker2.ToShortDateString() + “‘”, con);
DataTable dt = newDataTable();
da.Fill(dt);
dataGridView1.DataSource = dt;
3. yol –>
string donustur = dateTimePicker1.Value.ToString(“yyyy-MM-dd HH:mm:ss.FFF”);
string donustur2 = dateTimePicker2.Value.ToString(“yyyy-MM-dd HH:mm:ss.FFF”);
SqlConnection con = new SqlConnection(conStr);
con.Open();
SqlCommand cmd = new SqlCommand();
cmd.Connection = con;
cmd.CommandText = “select * from Gorusme where GorTarihi between @Tarih1 and @Tarih2”;
cmd.CommandType = CommandType.Text;
cmd.Parameters.AddWithValue(“@Tarih1”, donustur);
cmd.Parameters.AddWithValue(“@Tarih2”, donustur2);
SqlDataAdapter da = new SqlDataAdapter();
da.SelectCommand = cmd;
DataSet ds = new DataSet();
da.Fill(ds);
dataGridView1.DataSource = ds.Tables[0];
con.Close();
pazartesi,salı,çarşamba için 3 gün
perşembe için 4
cuma günü için 5 fark olursa nasıl hesaplayabiliriz
tolga :
Günün tarihinin hangi güne denk geldiğini aşağıdaki kod ile elde edebiliyoruz.Mesela bugün 10.05.2016 salı . Aşağıdaki gun değişkenin çıktı değeride SALI olur.Buna göre if kullanarak istediğin işlemi yapabilirsin.
string gun = CultureInfo.GetCultureInfo(“tr-TR”).DateTimeFormat.DayNames[(int)DateTime.Now.DayOfWeek];
Hocam merhaba veri tabanı türleri Metin mi hepsi tarih saat veya sayı türü var mı bende dizim hatası veriyor veri küçüklüğü diyerek hocam sizce sorun nedir yardımcı olur musunuz şimdiden saolun
Son ödeme tarih veri tabanında tarih saat türündeki yoksa Metin veya sayı mı hocam neler var veri türleri neden hata veriyor bende tc var veri tabanında sayı adsoyadi ise Metin firmaadi Metin çalıştıalan da Metin baslangıctarih tarih saat türünde bitiştarih saat tarih türünde bitiştarih göre güne ne kadar zaman kalmış biliniyor
Merhabalar benimde aynı sorunum var .Son ödeme tarih veri tabanında tarih saat türündeki yoksa Metin veya sayı mı hocam neler var veri türleri neden hata veriyor bende tc var veri tabanında sayı adsoyadi ise Metin firmaadi Metin çalıştıalan da Metin baslangıctarih tarih saat türünde bitiştarih saat tarih türünde bitiştarih göre güne ne kadar zaman kalmış biliniyor ilgi alakanız için teşekkür ederim
Melisa tansu :
Projeyi indir linkinden indirip inceleyebilirsin.veri türleri saat tarih olmalı.ama kısa.