Clase SetFilterEventArgs

NOTA: esta API está ahora obsoleta.

Proporciona una expresión de filtro de una lista para la SetFilterEvent de la interfaz IFilterProvider .

Jerarquía de la herencia

System.Object
  System.EventArgs
    Microsoft.SharePoint.WebPartPages.Communication.SetFilterEventArgs

Espacio de nombres:  Microsoft.SharePoint.WebPartPages.Communication
Ensamblado:  Microsoft.SharePoint (en Microsoft.SharePoint.dll)

Sintaxis

'Declaración
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")> _
Public Class SetFilterEventArgs _
    Inherits EventArgs
'Uso
Dim instance As SetFilterEventArgs
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartParameters instead")]
public class SetFilterEventArgs : EventArgs

Ejemplos

En el ejemplo de código siguiente se muestra un método invalidado PartCommunicationMain que crea una instancia de la SetFilterEventArgspara enviar cuando se produzca el SetFilter . Este ejemplo de código forma parte de un ejemplo más extenso de la interfaz IFilterProvider .

      ' Step #7: Override the PartCommunicationMain() method.
      ' The PartCommunicationMain method is called by the Web Part 
      ' infrastructure on the client during the ASP.NET PreRender
      ' event to allow the part to pass its primary data to the other 
      ' connected parts. It is important to always fire either the 
      ' SetFilter, NoFilter, or ClearFilter event. Some parts
      ' may not behave properly if they are left waiting for this 
      ' information.
      ' SetFilter should be fired to send the filter expression.
      ' NoFilter should be fired to indicate that there is no change in 
      ' the filter expression.
      ' ClearFilter should be fired to indicate that the filter should 
      ' be removed.
      Public Overrides Sub PartCommunicationMain()
            ' Ensure that all of the Web Part's controls are created.
            EnsureChildControls()

            ' Check if connected.
            If _connected Then
                ' Check which button was clicked.
                If _setFilterClicked = True Then
                    ' Create the SetFilterEventArgs object for the 
                    ' SetFilter event.
                    Dim setFilterEventArgs As New SetFilterEventArgs()

                    ' Create the filter expression.
                    Dim eIndex As Integer = 1
                    Dim filterExpression As String = String.Empty
                    Dim index As Integer
                    For index = 0 To _fieldList.Length - 1
                        ' This filter expression syntax should be used 
                        ' with SharePoint lists and other Microsoft Web 
                        ' Parts that support the IFilterConsumer 
                        ' interface.
                        If _filterInputs(index).Text <> String.Empty Then
                            filterExpression += FieldLabel + eIndex.ToString() + "=" + _fieldList(index) + "&"
                            filterExpression += ValueLabel + eIndex.ToString() + "=" + _filterInputs(index).Text + "&"
                            eIndex += 1
                        End If
                    Next index

                    ' Trim Off Trailing '&'
                    If filterExpression.Length <> 0 Then
                        filterExpression = filterExpression.Substring(0, filterExpression.Length - 1)
                    End If
                    ' Set the FilterExpression property on the SetFilterEventArgs object.
                    setFilterEventArgs.FilterExpression = filterExpression

                    ' Set the _filterExpression variable for display in the user interface.
                    _filterExpression = filterExpression

                    ' Fire the event.
                    RaiseEvent SetFilter(Me, setFilterEventArgs)
                    _setFilterClicked = False

                ElseIf _clearFilterClicked = True Then
                    RaiseEvent ClearFilter(Me, New EventArgs())
                    _clearFilterClicked = False

                    ' Clear out values in input text boxes.
                    If Not (_filterInputs Is Nothing) Then
                        Dim index As Integer
                        For index = 0 To _filterInputs.Length - 1
                            _filterInputs(index).Text = String.Empty
                        Next index
                    End If
                ElseIf _noFilterClicked = True Then
                    RaiseEvent NoFilter(Me, New EventArgs())
                    _noFilterClicked = False
                Else
                    RaiseEvent NoFilter(Me, New EventArgs())
                End If
            End If
        End Sub
// Step #7: Override the PartCommunicationMain() method.
// The PartCommunicationMain method is called by the Web Part 
// infrastructure on the client during the ASP.NET PreRender
// event to allow the part to pass its primary data to the other 
// connected parts. It is important to always fire either the 
// SetFilter, NoFilter, or ClearFilter event. Some parts
// may not behave properly if they are left waiting for this 
// information.
// SetFilter should be fired to send the filter expression.
// NoFilter should be fired to indicate that there is no change in the 
// filter expression.
// ClearFilter should be fired to indicate that the filter should be 
// removed.
public override void PartCommunicationMain()
{
    // Ensure that all of the Web Part's controls are created.
    EnsureChildControls();

    // Check if connected.
    if(_connected)
    {
        // Check which button was clicked.
        if(_setFilterClicked == true)
        {
            // If there is a listener, fire the SetFilter event.
            if (SetFilter != null)
            {
                // Create the SetFilterEventArgs object for the 
                // SetFilter event.
                SetFilterEventArgs setFilterEventArgs = new SetFilterEventArgs();

                // Create the filter expression.
                int eIndex = 1;
                string filterExpression = string.Empty;
                for (int index = 0; index < _fieldList.Length; index++)
                {
                    // This filter expression syntax should be used 
                    // with SharePoint Lists
                    // and other Microsoft Web Parts that support the 
                    // IFilterConsumer interface.
                    if (_filterInputs[index].Text != string.Empty)
                    {
                        filterExpression += FieldLabel + eIndex.ToString() + "=" + _fieldList[index] + "&";
                        filterExpression += ValueLabel + eIndex.ToString() + "=" + _filterInputs[index].Text + "&";
                        eIndex++;
                    }
                }

                // Trim Off Trailing '&'
                if (filterExpression.Length != 0)
                filterExpression = filterExpression.Substring(0,filterExpression.Length - 1);

                // Set the FilterExpression property on the 
                // SetFilterEventArgs object.
                setFilterEventArgs.FilterExpression = filterExpression;

                // Set the _filterExpression variable for display in 
                // the user interface.
                _filterExpression = filterExpression;

                // Fire the event.
                SetFilter(this, setFilterEventArgs);

                _setFilterClicked = false;
            }
        }
        else if(_clearFilterClicked == true)
        {
            // If there is a listener, fire the ClearFilter event.
            if (ClearFilter != null)
            {
                ClearFilter(this, new EventArgs());

                _clearFilterClicked = false;

                // Clear out values in input text boxes.
                if (_filterInputs != null)
                {
                    for (int index = 0; index < _filterInputs.Length; index++)
                        _filterInputs[index].Text = string.Empty;
                }
            }
        }
        else if(_noFilterClicked == true)
        {
            // If there is a listener, fire the NoFilter event.
            if (NoFilter != null)
            {
                NoFilter(this, new EventArgs());

                _noFilterClicked = false;
            }
        }
        else
        {
            // If there is a listener, fire the NoFilter event.
            if (NoFilter != null)
            {
        NoFilter(this, new EventArgs());
            }
        }
    }
}

Seguridad para subprocesos

Los miembros static (Shared en Visual Basic) públicos de este tipo son seguros para subprocesos. No se garantiza que los miembros de instancias sean seguros para los subprocesos.

Vea también

Referencia

Miembros SetFilterEventArgs

Espacio de nombres Microsoft.SharePoint.WebPartPages.Communication