Establecer la fórmula de selección manualmente en código
Ya está preparado para agregar código para modificar la fórmula de selección en la clase de código subyacente.
Para codificar la fórmula de selección
Abra el formulario Web Forms o Windows Forms.
En el menú Ver, seleccione Diseñador.
Haga doble clic en Volver a mostrar el informe.
Aparece la clase de código subyacente del informe, que muestra que se ha generado automáticamente un controlador de eventos redisplay_Click().
En la fórmula de selección, cree una variable de cadena que incluya los valores desde los controles TextBox.
La fórmula de selección es parecida al texto escrito en el método ConfigureCrystalReports(). En vez del valor de mínimo de ventas de $11000,00, utilice el valor del control TextBox lastYearsSales. Para el campo Nombre del cliente, utilice el valor del control TextBox customerName.
``` vb
Dim mySelectFormula As String = "{Customer.Last Year's Sales} >
" & lastYearsSales.Text _
& " AND Mid({Customer.Customer Name}, 1) > """ &
customerName.Text & """"
```
``` csharp
string selectFormula = "{Customer.Last Year's Sales} > " +
lastYearsSales.Text
+ " AND Mid({Customer.Customer Name}, 1) > \"" +
customerName.Text + "\"";
```
Asigne la variable de cadena a la propiedad SelectionFormula del control CrystalReportViewer.
myCrystalReportViewer.SelectionFormula = mySelectFormula
crystalReportViewer.SelectionFormula = selectFormula;
Vuelva a enlazar el informe CustomerBySalesName a la propiedad ReportSource del control CrystalReportViewer.
Nota La ruta de directorio de archivos que se muestra aquí es la de un proyecto de Visual Studio. ProjectName se reemplaza por el nombre del proyecto Web o de Windows. UserName se reemplaza por el nombre de conexión del equipo.
La ruta predeterminada de un sitio Web es la siguiente:
myCrystalReportViewer.ReportSource = "C:\WebSites\ ProjectName\CustomersBySalesName.rpt"
crystalReportViewer.ReportSource = "C:\\WebSites\\ ProjectName\\CustomersBySalesName.rpt";
La ruta predeterminada de un proyecto de Windows es la siguiente:
myCrystalReportViewer.ReportSource = "C:\Documents and Settings\ UserName\Mis documentos\Visual Studio\Projects\ ProjectName\CustomersBySalesName.rpt"
crystalReportViewer.ReportSource = "C:\\Documents and Settings\\ UserName\\Mis documentos\\Visual Studio\\Projects\\ ProjectName\\CustomersBySalesName.rpt";
Ya ha creado una fórmula de selección que puede modificar en tiempo de ejecución.
Para probar la fórmula de selección
En el menú Generar, haga clic en Generar solución.
Si existen errores de generación, continúe y corríjalos ahora.
En el menú Depurar, haga clic en Iniciar.
En el control TextBoxlastYearsSales, escriba 200000.
En el control TextBoxcustomerName, escriba SAB.
Haga clic en Volver a mostrarel informe.
El informe Crystal Reports muestra tres registros de clientes: SAB Mountain, Tek Bikes y Tienda de Bicicletas El Pardo.
Se muestran sólo los registros de clientes con nombres mayores que "SAB" y ventas del año pasado mayor que "200000".
- Vuelva a Visual Studio y haga clic en Detener para salir del modo de depuración.