Поделиться через


Событие 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);
        }
    }
}

См. также

Справочные материалы

IListProvider интерфейс

Элементы IListProvider

Пространство имен Microsoft.SharePoint.WebPartPages.Communication