Higlight use multiple condition

edited February 2018 in FastReport .NET
Currently the following condition working fine for the field where values between (1 to 45) change(highlight) the color to red if the values
Value >0 and Value <=48
wrote:
Question
Now I need to consider not only the value from the field but also need to consider the parameter dates difference:
like if the report date range from the 'Form' dates parameters difference is (DateTimePicker1.Value) and (DateTimePicker2.Value) is 14 days do 'x' or if 7days difference do 'Y'.

If the user selected date from above paramters and their DateDiff between 14 days calculate 'X' and for chosen date difference if 7 days than <=7 than 'Y' shown example below:
but generates errors ' String contraints must end with double quote.

Simple condition

So through date parameter if the user chose the two weeks range the criteria is different but if the user chose 1 week difference than criteria is different along with the value of the field




I've written the following code in 'Edit Expression' but doesn't like it
IIF(DateDiff([StartDate],[EndDate]) <=14 ,Value >0 or Value <=48,IIF(DateDiff([StartDate],[EndDate]) <=7, Value >0 or Value <=24))

Appreciate your help!
Thanks
Farhan

Comments

  • edited February 2018
    use script
      public class ReportScript
      {
        int diff;
        
        private void Text1_BeforePrint(object sender, EventArgs e)
        {
          int value = (int) Report.GetColumnValue("Orders.OrderID");
          if (diff <=7)
          {
            if (value > 0 && value <=24)
              Text1.TextColor = Color.Red;
            else
              Text1.TextColor = Color.Black;
          }
          else if (diff <= 14)
          {
            if (value > 0 && value <=48)
              Text1.TextColor = Color.Blue;
            else
              Text1.TextColor = Color.Black;
          }
          else
          {
              Text1.TextColor = Color.Yellow;
          }
        }
    
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
          DateTime date1 = DateTimePicker1.Value;
          DateTime date2 = DateTimePicker2.Value;
          diff = date2.Subtract(date1).Days;
        }
      }
    
  • edited 5:54AM
    Thanks for your swift response
    I'm not good in C# , can understand bit coding .
    I will try to translate into VB syntax , may come back to you if its ok
    Thanks
    Farhan
    ipong wrote: »
    use script
      public class ReportScript
      {
        int diff;
        
        private void Text1_BeforePrint(object sender, EventArgs e)
        {
          int value = (int) Report.GetColumnValue("Orders.OrderID");
          if (diff <=7)
          {
            if (value > 0 && value <=24)
              Text1.TextColor = Color.Red;
            else
              Text1.TextColor = Color.Black;
          }
          else if (diff <= 14)
          {
            if (value > 0 && value <=48)
              Text1.TextColor = Color.Blue;
            else
              Text1.TextColor = Color.Black;
          }
          else
          {
              Text1.TextColor = Color.Yellow;
          }
        }
    
        private void Form1_FormClosing(object sender, FormClosingEventArgs e)
        {
          DateTime date1 = DateTimePicker1.Value;
          DateTime date2 = DateTimePicker2.Value;
          diff = date2.Subtract(date1).Days;
        }
      }
    

Leave a Comment