Compartir a través de


Personalizar fórmulas de selección en tiempo de ejecución

Puede utilizar fórmulas de selección para filtrar los registros que desea incluir en un informe. También puede especificar los campos por los que agrupar y ordenar los datos.

El siguiente ejemplo permite que el usuario modifique, en tiempo de ejecución, la fórmula de selección de un informe. Esta acción puede llevarse a cabo mediante el control Visor o el motor de informes. Para obtener más información sobre el método que se debe elegir, vea Decidir entre el visor o el motor de informes para la personalización.

Para modificar datos en tiempo de ejecución

  1. Cree un informe que utilice la tabla Customer de la base de datos de ejemplo, xtreme.mdb.

  2. Agregue una fórmula de selección que contenga lo siguiente:

    {Cliente.Ventas del último año} > 11000,00
    

    Esta fórmula devuelve los registros de los clientes cuyas ventas desde al año anterior fuesen superiores a 11.000,00 $.

  3. Para agregar Web Forms Viewer a Web Form.

  4. Enlace el informe a Web Forms Viewer.

  5. Agregue un control Text Box y un control Button al formulario.

    Los usuarios introducen un valor mínimo para mostrar las ventas del año anterior en el control Text Box y hacen clic en el control Button para enviarlo.

  6. Haga doble clic en el control Button para especificar el código del evento Click. En función del lenguaje y del motor que esté utilizando, inserte el código adecuado de los siguiente ejemplos.

    Pasar la fórmula de selección mediante el control del visor

[Visual Basic]

Dim SelectFormula As String
SelectFormula = "{Customer.Last Year's Sales} > " & textBox1().Text
crystalReportViewer1.SelectionFormula = SelectFormula

[C#]

string selectFormula;
selectFormula = "{Customer.Last Year's Sales} > " + textBox1.Text;
crystalReportViewer1.SelectionFormula = selectFormula;

[C++]

String* selectFormula;
selectFormula->Concat 
("{Customer.Last Year's Sales} > ", textBox1->Text);
crystalReportViewer1->SelectionFormula = selectFormula;

[VJ#]

String selectFormula;
selectFormula = "{Customer.Last Year's Sales} > " + TextBox1.get_Text();
crystalReportViewer1.set_SelectionFormula(selectFormula);

Pasar la fórmula de selección mediante el objeto de informe

[Visual Basic]

Dim selectFormula As String
selectFormula = "{Customer.Last Year's Sales} > " & textBox1().Text
Report.DataDefinition.RecordSelectionFormula = selectFormula

[C#]

string selectFormula;
selectFormula = "{Customer.Last Year's Sales} > " + textBox1.Text;
Report.DataDefinition.RecordSelectionFormula = SelectFormula;

[C++]

String* selectFormula;
selectFormula->Concat 
("{Customer.Last Year's Sales} > ", textBox1->Text);
Report->DataDefinition->RecordSelectionFormula = selectFormula;

[VJ#]

String selectFormula;
selectFormula = "{Customer.Last Year's Sales} > " + TextBox1.get_Text();
Report.get_DataDefinition().set_RecordSelectionFormula(selectFormula);
  1. Actualice el informe correspondiente terminando esta sección de código con la siguiente línea:

    CrystalReportViewer1.RefreshReport()
    

    A continuación, la fórmula se actualiza a fin de que utilice el nuevo mínimo para las ventas del año pasado.

Vea también

Propiedad SelectionFormula para el Visor de Web Forms | Propiedad SelectionFormula para el Visor de Windows Forms