Şimdi Ara

C# İki Tarih Arasındaki Fark ve DataGrid Renklendirme

Daha Fazla
Bu Konudaki Kullanıcılar: Daha Az
2 Misafir - 2 Masaüstü
5 sn
4
Cevap
0
Favori
722
Tıklama
Daha Fazla
İstatistik
  • Konu İstatistikleri Yükleniyor
0 oy
Öne Çıkar
Sayfa: 1
Giriş
Mesaj
  • Merhaba, C# ve mssql ile kendimi geliştirmek adına hosting, domain ve müşteri takip programı hazırlıyorum. (Proje Windows App.) Programın giriş sayfasında ödemesi yaklaşam hosting ve domainlerin listesini çekiyorum ve aradaki gün farkını buldum. Datagrid içerisinde Kalan günü 20'den küçük olanları kırmızı, 20'den büyük olanları ise yeşile boyamak istiyorum. Aşağıda yazdığım kodlar hata vermiyor, proje çalışıyor fakat renklendirme işlemini de yapmıyor. Yardımcı olabilecek olanlar cevaplarsa çok sevinirim.

     
    private void SonHostingSatislariGetir()
    {
    baglanti.Open();
    string kayit = "[b]select BaslangicTarihi, BitisTarihi, 0 as 'Kalan', Turu, MusteriAdi from HostingSatislari hs LEFT JOIN Musteriler mst on hs.MusterilerID = mst.MusterilerID ORDER BY BaslangicTarihi DESC[/b]";
    //musteriler tablosundaki tüm kayıtları çekecek olan sql sorgusu.
    SqlCommand komut = new SqlCommand(kayit, baglanti);
    //Sorgumuzu ve baglantimizi parametre olarak alan bir SqlCommand nesnesi oluşturuyoruz.
    SqlDataAdapter da = new SqlDataAdapter(komut);
    //SqlDataAdapter sınıfı verilerin databaseden aktarılması işlemini gerçekleştirir.
    DataTable dt = new DataTable();
    da.Fill(dt);

    //Bir DataTable oluşturarak DataAdapter ile getirilen verileri tablo içerisine dolduruyoruz.
    dtHostingSonSatislar.DataSource = dt;

    //Kalan gün sayısı hesaplana...
    for (int i = 0; i < dt.Rows.Count; i++)
    {
    //dt.Rows[i]["Kalan"] = DateTime.Now.Subtract(Convert.ToDateTime(dt.Rows[i]["BitisTarihi"].ToString()).

    TimeSpan fark = DateTime.Now.Subtract(Convert.ToDateTime(dt.Rows[i]["BitisTarihi"].ToString()));
    dt.Rows[i]["Kalan"] = fark.Days;

    if (Convert.ToInt32(dt.Rows[i]["Kalan"]) < 20)
    {

    dtHostingSonSatislar.Rows[i].Cells[0].Style.BackColor = Color.Red;
    dtHostingSonSatislar.Rows[i].Cells[1].Style.BackColor = Color.Red;
    dtHostingSonSatislar.Rows[i].Cells[2].Style.BackColor = Color.Red;
    dtHostingSonSatislar.Rows[i].Cells[3].Style.BackColor = Color.Red;
    dtHostingSonSatislar.Rows[i].Cells[4].Style.ForeColor = Color.Red;

    }
    else
    {

    dtHostingSonSatislar.Rows[i].Cells[0].Style.BackColor = Color.Green;
    dtHostingSonSatislar.Rows[i].Cells[1].Style.BackColor = Color.Green;
    dtHostingSonSatislar.Rows[i].Cells[2].Style.BackColor = Color.Green;
    dtHostingSonSatislar.Rows[i].Cells[3].Style.BackColor = Color.Green;
    dtHostingSonSatislar.Rows[i].Cells[4].Style.BackColor = Color.Green;
    }
    }
    //Formumuzdaki DataGridViewin veri kaynağını oluşturduğumuz tablo olarak gösteriyoruz.
    dtHostingSonSatislar.Columns[0].HeaderText = "Başlangıç Tarihi";
    dtHostingSonSatislar.Columns[1].HeaderText = "Bitiş Tarihi";
    dtHostingSonSatislar.Columns[2].HeaderText = "Kalan Gün Sayısı";
    dtHostingSonSatislar.Columns[3].HeaderText = "Hosting Türü";
    dtHostingSonSatislar.Columns[4].HeaderText = "Müşteri Adı";
    baglanti.Close();

    }







  • eventler var burdan bişeyler çıkarsın

    protected void x_RowDataBound(object sender, GridViewRowEventArgs e)
    {
    if (e.Row.RowType == DataControlRowType.DataRow)
    {
    string ponumber = x.DataKeys[e.Row.RowIndex].Values[0].ToString();


    if (ponumber == "Markum") e.Row.ForeColor = System.Drawing.Color.Red;

    }
    }
  • birdatagridview 3 sütun ekle birde button koy denemesini yaparsın


    using System;
    using System.Collections.Generic;
    using System.Drawing;
    using System.Windows.Forms;

    namespace grid
    {

    public partial class MainForm : Form
    {
    public MainForm()
    {

    InitializeComponent();


    }



    void Button1Click(object sender, EventArgs e)
    {
    for (int i = 0; i < 10; i++) {
    dataGridView1.Rows[i].Cells[2].Style.BackColor = (int)dataGridView1.Rows[i].Cells[2].Value > 20 ? Color.Green : Color.Red;
    }
    }
    void MainFormLoad(object sender, EventArgs e)
    {
    for (int i = 0; i < 10; i++) {
    dataGridView1.Rows.Add();

    dataGridView1.Rows[i].Cells[0].Value=i;
    dataGridView1.Rows[i].Cells[1].Value=10-i;
    dataGridView1.Rows[i].Cells[2].Value=(int)dataGridView1.Rows[i].Cells[0].Value*(int)dataGridView1.Rows[i].Cells[1].Value;
    }
    }
    }
    }




    < Bu mesaj bu kişi tarafından değiştirildi Gökşen PASLI -- 2 Aralık 2016; 18:19:49 >




  • 
Sayfa: 1
- x
Bildirim
mesajınız kopyalandı (ctrl+v) yapıştırmak istediğiniz yere yapıştırabilirsiniz.