Compartilhar via


RowReadyEventArgs Class

NOTE: This API is now obsolete.

Provides the current row value from a Web Part that implements the IRowProvider interface when the RowReady event occurs.

Inheritance Hierarchy

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

Namespace:  Microsoft.SharePoint.WebPartPages.Communication
Assembly:  Microsoft.SharePoint (in Microsoft.SharePoint.dll)

Syntax

'Declaration
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartRow instead")> _
Public Class RowReadyEventArgs _
    Inherits EventArgs
'Usage
Dim instance As RowReadyEventArgs
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartRow instead")]
public class RowReadyEventArgs : EventArgs

Examples

The following code example shows an overridden WebPart.PartCommunicationMain method that creates a RowReadyEventArgs object, sets the row values and selection status, and then fires the RowReady event. This code example is part of a larger example provided for the IRowProvider interface.

      ' Step #8: 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 the RowReady event. Some parts
      ' may not behave properly if they are left waiting for this 
      ' information.
      Public Overrides Sub PartCommunicationMain()
         ' Check if connected.
         If _connected Then
            'If there is a listener, fire the RowReady event.
            If Not (RowReady Is Nothing) Then
               ' Create the RowReadyEventArgs object for the RowReady 
               ' event.
               Dim rowReadyEventArgs As New RowReadyEventArgs()
               
               ' Declare data variables.
               Dim selectionStatus As String = ""
               Dim dr(0) As DataRow
               
               ' If a row is selected, send the row.
               If _dataGrid.SelectedIndex > - 1 Then
                  ' Generate an array containing the selected 
                  ' DataRow(s).
                  dr(0) = CType(_dataGrid.DataSource, DataTable).Rows(_dataGrid.SelectedIndex)
                  
                  ' Set the selection status.
                  selectionStatus = "Standard"
               
               Else
                  ' The user hasn't selected a row so send null.
                  dr(0) = Nothing
                  
                  ' Set the selection status.
                  selectionStatus = "None"
               End If
               
               ' Set values.
               rowReadyEventArgs.Rows = dr
               rowReadyEventArgs.SelectionStatus = selectionStatus
               
               ' Fire the RowReady event.
               RaiseEvent RowReady(Me, rowReadyEventArgs)
            End If
         End If
      End Sub
        // Step #8: 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 the RowReady event. Some 
        // parts may not behave properly if they are left waiting for 
        // this information.
        public override void PartCommunicationMain()
        {
            // Check if connected.
            if(_connected)
            {
                //If there is a listener, fire the RowReady event.
                if (RowReady != null)
                {
                    // Create the RowReadyEventArgs object for the 
                    // RowReady event.
                    RowReadyEventArgs rowReadyEventArgs = new RowReadyEventArgs();

                    // Declare data variables.
                    string selectionStatus = "";
                    DataRow[] dr = new DataRow[1];

                    // If a row is selected, send the row.
                    if ( _dataGrid.SelectedIndex > -1)
                    {
                        // Generate an array containing the selected 
                        // DataRow(s).
                        dr[0] = ((DataTable)_dataGrid.DataSource).Rows[_dataGrid.SelectedIndex];
                    
                        // Set the selection status.
                        selectionStatus = "Standard";

                    }
                    else
                    {
                        // The user hasn't selected a row so send null.
                        dr[0] = null;

                        // Set the selection status.
                        selectionStatus = "None";
                    }

                    // Set values
                    rowReadyEventArgs.Rows = dr;
                    rowReadyEventArgs.SelectionStatus = selectionStatus;

                    // Fire the RowReady event.
                    RowReady(this, rowReadyEventArgs);
                }
            }
        }

Thread Safety

Any public static (Shared in Visual Basic) members of this type are thread safe. Any instance members are not guaranteed to be thread safe.

See Also

Reference

RowReadyEventArgs Members

Microsoft.SharePoint.WebPartPages.Communication Namespace