Programar eventos de botón mediante direcciones de ordenamiento
En este procedimiento programará el modelo de objetos ReportDocument del informe dentro del método de evento, y establecerá la dirección de ordenamiento como ascendente en un método de evento y como descendente en el otro.
Para programar el modelo de objetos ReportDocument del informe en el método de evento sortOrderDescending_Click
Abra la clase de código subyacente y busque el método de evento sortOrderDescending_Click().
En el método de evento, obtenga la propiedad SortFields de la propiedad DataDefinition de la instancia del informe y asígnele a una instancia de la clase indizada SortFields.
Dim mySortFields As SortFields = hierarchicalGroupingReport.DataDefinition.SortFields
SortFields sortFields = hierarchicalGroupingReport.DataDefinition.SortFields;
Obtenga la primera instancia SortField de la clase indizada SortFields y asígnele a una variable denominada firstSortField.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\z15yzzew.alert_note(es-es,VS.90).gif" class="note" />Nota</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>La clase indizada SortFields se basa en 0.</p></td>
</tr>
</tbody>
</table>
``` vb
Dim firstSortField As SortField = mySortFields(0)
```
``` csharp
SortField firstSortField = sortFields[0];
```
Establezca la propiedad SortDirection de firstSortField al orden descendente mediante la selección DescendingOrder de la enumeración SortDirection.
firstSortField.SortDirection = SortDirection.DescendingOrder
firstSortField.SortDirection = SortDirection.DescendingOrder;
Ahora vuelva a asignar este informe (con su orden modificado en el modelo de objetos ReportDocument) a la propiedad ReportSource del control CrystalReportViewer.
myCrystalReportViewer.ReportSource = hierarchicalGroupingReport
crystalReportViewer.ReportSource = hierarchicalGroupingReport;
A continuación, escribirá el código del método de evento sortOrderAscending_Click(). El código es idéntico, excepto por la configuración de la propiedad SortDirection.
Para programar el modelo de objetos ReportDocument del informe en el método de evento sortOrderAscending_Click
Abra la clase de código subyacente y busque el método de evento sortOrderAscending_Click().
En el método de evento, obtenga la propiedad SortFields de la propiedad DataDefinition de la instancia del informe y asígnele a una instancia de la clase indizada SortFields.
Dim mySortFields As SortFields = hierarchicalGroupingReport.DataDefinition.SortFields
SortFields sortFields = hierarchicalGroupingReport.DataDefinition.SortFields;
Obtenga la primera instancia SortField de la clase indizada SortFields y asígnele a una variable denominada firstSortField.
<table>
<colgroup>
<col style="width: 100%" />
</colgroup>
<thead>
<tr class="header">
<th><img src="images\z15yzzew.alert_note(es-es,VS.90).gif" class="note" />Nota</th>
</tr>
</thead>
<tbody>
<tr class="odd">
<td><p>La clase indizada SortFields se basa en 0.</p></td>
</tr>
</tbody>
</table>
``` vb
Dim firstSortField As SortField = mySortFields(0)
```
``` csharp
SortField firstSortField = sortFields[0];
```
Establezca la propiedad SortDirection de la instancia de firstSortField en orden ascendente mediante la selección AscendingOrder de la enumeración SortDirection.
firstSortField.SortDirection = SortDirection.AscendingOrder
firstSortField.SortDirection = SortDirection.AscendingOrder;
Ahora vuelva a asignar este informe (con su orden modificado en el modelo de objetos ReportDocument) a la propiedad ReportSource del control CrystalReportViewer.
myCrystalReportViewer.ReportSource = hierarchicalGroupingReport
crystalReportViewer.ReportSource = hierarchicalGroupingReport;
Así se completará la programación del modelo de objetos ReportDocument del informe incluido en cada método de evento. En la siguiente sección, probará si funcionan estos cambios de orden, y si se conservan cuando no se haya aplicado Session.