2012-05-28 2 views
0

Я хочу, чтобы при загрузке страницы в отчете должны отображаться все записи. Теперь, когда я хочу показать запись фильтра по дате (групповое поле), т.е. показать все записи без фильтра, еще показать запись/с фильтром.отображение фильтра запись еще все запись в кристалле отчет

Мой код, как показано ниже, когда я хочу, чтобы фильтровать данные

protected void click(object sender, EventArgs e) 
     { 

      ReportDocument cryRpt = new ReportDocument(); 
      cryRpt.Load(Server.MapPath("report.rpt")); 
      cryRpt.SetDatabaseLogon("userid", "password", "server", "database"); 
      ParameterFieldDefinitions crParameterFieldDefinitions; 
      ParameterFieldDefinition crParameterFieldDefinition; 
      ParameterValues crParameterValues = new ParameterValues(); 
      ParameterDiscreteValue crParameterDiscreteValue = new ParameterDiscreteValue(); 

      crParameterDiscreteValue.Value =Convert.ToDateTime(dtAppt.Text).ToShortDateString(); 
      crParameterFieldDefinitions = cryRpt.DataDefinition.ParameterFields; 
      crParameterFieldDefinition = crParameterFieldDefinitions["stdate"]; 
      crParameterValues = crParameterFieldDefinition.CurrentValues; 
      crParameterValues.Add(crParameterDiscreteValue); 
      crParameterFieldDefinition.ApplyCurrentValues(crParameterValues); 
      CrystalReportViewer1.ReportSource = cryRpt; 
      Checkbox1.Checked = false; 

     } 

enter image description here Что писать, если условие, так что я могу получить все записи также, что пройти в этом ниже линии?

crParameterDiscreteValue.Value =Convert.ToDateTime(dtAppt.Text).ToShortDateString(); 

ответ

3

Если вы хотите, чтобы показать все записи добавить особое значение т.е. 01.01.1900

crParameterDiscreteValue.Value ="19000101"; 

В формуле

{?stdate} = '19000101' or {appointment.startdate} = {?stdate} 

нет необходимости использовать, если другое заявление.

0

Трюк состоит в том, чтобы передать «специальное значение» вашему параметру или создать новый параметр для переопределения.

Пример из «особого значения» будет 01.01.1900:

затем в критерии отбора: {?stdate} = '19000101' or {appointment.startdate} = {?stdate}

Если вы идете другим путем, создавая булево значение для переопределения:

то в критерии отбора: {?override} or {appointment.startdate} = {?stdate}