Событие IListProvider.ListReady
Примечание. Этот API устарел.
Происходит, когда весь список были получены и готов для отправки в веб-часть, которая реализует интерфейс IListConsumer .
Пространство имен: Microsoft.SharePoint.WebPartPages.Communication
Сборка: Microsoft.SharePoint (в Microsoft.SharePoint.dll)
Синтаксис
'Декларация
<ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartTable instead")> _
Event ListReady As ListReadyEventHandler
'Применение
Dim instance As IListProvider
Dim handler As ListReadyEventHandler
AddHandler instance.ListReady, handler
[ObsoleteAttribute("Use System.Web.UI.WebControls.WebParts.IWebPartTable instead")]
event ListReadyEventHandler ListReady
Замечания
Обработчик события получает аргумент типа Microsoft.SharePoint.WebPartPages.Communication.ListReadyEventArgs , содержащий данные, относящиеся к этому событию. Свойство ListReadyEventArgs.List содержит сведения, относящиеся к данному событию.
ListReady событие должно вызываться также при изменении предоставленного списка (например, когда происходит добавление, удаление, обновление или изменение фильтра строки).
Примеры
В следующем примере переопределяется метод PartCommunicationMain и запускает событие ListReady . Данный пример кода является частью большего примера, приведенного для интерфейса IListProvider .
' 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 ListReady
' or PartialListReady event. Some parts
' may not behave properly if they are left waiting for this
' information.
Public Overrides Sub PartCommunicationMain()
' Ensure that all of the Web Part's controls are created.
EnsureChildControls()
'Check if connected
If _connected Then
' Create the ListReadyEventArgs object for the ListProviderInit event.
Dim listReadyArgs As New ListReadyEventArgs()
' If user clicked button, send the value.
If _listButtonClicked Then
' Set the List to the value of the table in the
' DataGrid. This is the value that will be sent
' to the consumer Web Part.
listReadyArgs.List = CType(_dataGrid.DataSource, DataTable)
Else
' The user didn't click the button, so send a
' null DataTable to the consumer Web Part.
listReadyArgs.List = Nothing
End If
' Fire the ListReady event.
' The consumer Web Part will receive the DataTable.
RaiseEvent ListReady(Me, listReadyArgs)
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 ListReady or PartialListReady
// event. Some parts may not behave properly if they are left waiting
// for this information.
public override void PartCommunicationMain()
{
// Ensure that all of the Web Part's controls are created.
EnsureChildControls();
//Check if connected
if(_connected)
{
// If there is a listener, fire the ListReady event.
if (ListReady != null)
{
// Create the ListReadyEventArgs object for the
// ListProviderInit event.
ListReadyEventArgs listReadyArgs = new ListReadyEventArgs();
// If user clicked button, send the value.
if (_listButtonClicked)
{
// Set the List to the value of the table in the
// DataGrid.
// This is the value that will be sent to the consumer
// Web Part.
listReadyArgs.List = ((DataTable)_dataGrid.DataSource);
}
else
{
// The user didn't click the button, so send a
// null DataTable to the consumer Web Part.
listReadyArgs.List = null;
}
// Fire the ListReady event.
// The consumer Web Part will receive the DataTable.
ListReady(this, listReadyArgs);
}
}
}
См. также
Справочные материалы
Пространство имен Microsoft.SharePoint.WebPartPages.Communication