IRowProvider.RowReady event
NOTE: This API is now obsolete.
Namespace: Microsoft.SharePoint.WebPartPages.Communication
Assembly: Microsoft.SharePoint (in Microsoft.SharePoint.dll)
Syntax
'宣告
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartRow instead")> _
Event RowReady As RowReadyEventHandler
'用途
Dim instance As IRowProvider
Dim handler As RowReadyEventHandler
AddHandler instance.RowReady, handler
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartRow instead")]
event RowReadyEventHandler RowReady
備註
事件處理常式會接收包含與這個事件相關的資料型別Microsoft.SharePoint.WebPartPages.Communication.RowReadyEventArgs的引數。下列的RowReadyEventArgs屬性Rows和SelectionStatus會提供這個事件的特定資訊
Examples
下列程式碼範例示範覆寫的PartCommunicationMain方法,會建立RowReadyEventArgs的物件、 設定資料列的值和選取狀態,並再引發RowReady事件。這個程式碼範例是提供IRowProvider介面的完整範例的一部分。
' 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
'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 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);
}
}
}