2017-10-28 13 views
-2

たとえば、有効期限の7日前と30日前? 私は右ここにMySQLデータベースとC#datagridview C#で期限切れの行をペイントする方法はありますか?

foreach (DataGridViewRow row in dataGridView1.Rows) 
    { 
     var now = DateTime.Now; 
     var expirationDate = DateTime.Parse(row.Cells[0].Value.ToString()); 
     var sevenDayBefore = expirationDate.AddDays(-7); 

     if (now > sevenDayBefore && now < expirationDate) 
     { 
      row.DefaultCellStyle.BackColor = Color.Yellow; 
     } 
     else if (now > expirationDate) 
     { 
      row.DefaultCellStyle.BackColor = Color.Red;  
     } 
    } 

でやっている私が持っている:型「にSystem.FormatException」が 未処理の例外が

がmscorlib.dllで発生しました追加情報:文字列は次のように認識されませんでした有効なDateTime。

+0

あなたのためにコードを書く必要がありますか?あなたは書きましたか?あなたはそのコードにどんな問題がありますか?ここでそのコードを共有できますか? –

+0

私はそのための方法が必要です。私はdatagridviewの2つのセルを日付と比較し、最初の列の日付が他のものよりも大きいかどうかをチェックしたい。 –

+0

コードをデバッグして、 'row.Cells [0] .Value.ToString()'で取得している値を確認しましたか?それがFormatExceptionの理由です。 –

答えて

0

私は、例えば、あなたは単価値が$ 10以下の小さいときに黄色の行をハイライト表示したい場合は...あなたのセットアップがどのようなものか知らない

protected void HighlightCheapProducts_RowDataBound(object sender, 
GridViewRowEventArgs e) 

{ 

    // Make sure we are working with a DataRow 

    if (e.Row.RowType == DataControlRowType.DataRow) 

    { 

     // Get the ProductsRow object from the DataItem property... 

     Northwind.ProductsRow product = 
(Northwind.ProductsRow)((System.Data.DataRowView)e.Row.DataItem).Row; 

     if (!product.IsUnitPriceNull() && product.UnitPrice < 10m) 

     { 

      e.Row.CssClass = "AffordablePriceEmphasis"; 

     } 

    } 

} 

enter image description here

https://msdn.microsoft.com/en-us/library/bb288030.aspx?f=255&MSPPError=-2147217396#aspnett11cstfrmcs_topic10

関連する問題