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
Espacio de nombres Microsoft.SharePoint.WebPartPages.Communication