2010-09-17 3 views
4

Я работаю с Sharepoint, и я пытаюсь подключить веб-части с несколькими параметрами.Интерфейс ITransformableFilterValues ​​с двумя или более параметрами [SharePoint WebParts]

Мой вопрос: как передать более одного параметра из веб-части custome в другую.

Я могу передать один параметр, реализуя интерфейс ITransformableFilterValues ​​в пользовательском веб-части, что я хочу сделать, это передать несколько параметров (например, MyIndex2).

// Configure interface 

    public bool AllowEmptyValue 
    { 
     get { return false; } 
    } 
    public bool AllowAllValue 
    { 
     get { return true; } 
    } 
    public bool AllowMultipleValues 
    { 
     get { return true; } 
    } 
    public string ParameterName 
    { 
     get { return "MyIndex"; } // Name of provided parameter 
    } 
    public ReadOnlyCollection<string> ParameterValues 
    { 
     get 
     { 
      EnsureChildControls();    
      List<string> MyFilterValues = new List<string>(); 
      if (MyFilterValue != null) 
      { 
       MyFilterValues.Add(MyFilterValue); //Provided value for another web-part 
      }       

      ReadOnlyCollection<string> result = new ReadOnlyCollection<string>(MyFilterValues); 
      return result; 
     } 
    } 


    [ConnectionProvider("MyIndex", "UniqueIDForRegionConnection", AllowsMultipleConnections = true)] 
    public ITransformableFilterValues SetConnection() 
    { 
     return this; 
    } 

Спасибо за помощь. И извините за мой английский.

ответ

3

Создать класс, который реализует интерфейс ITransformableFilterValues ​​(а не реализации его в веб-части класса)

class FilterValues : ITransformableFilterValues 
{ 
... 
} 

В вашей основной веб-части имеют

FilterValues _fitler1; 
FitlerValues _filter2; 

(очевидно, нужно будет установить их тоже)

Добавить методы для возврата различных фильтров, например

[ConnectionProvider("Filter 1", "UniqueIDForFilter1", 
AllowsMultipleConnections = true)] 
public ITransformableFilterValues SetConnection() 
{ 
    return _fitler1; 
} 

[ConnectionProvider("Filter 2", "UniqueIDForFilter2", 
AllowsMultipleConnections = true)] 
public ITransformableFilterValues SetConnection2() 
{ 
    return _fitler2; 
} 
0

Убедитесь, что параметры отчета находятся в режиме видимости. Это сработало для меня. Дайте ему попробовать

Благодаря Вивек

0

Чтобы исправить код изменения, как показано ниже:

[aspnetwebparts.ConnectionProvider("Season", "idSeason", AllowsMultipleConnections = true)] 
public wsswebparts.ITransformableFilterValues SetConnectionSeason() 
{ 
    return filterValuesSeason; 
} 

[aspnetwebparts.ConnectionProvider("Category", "idCategory", AllowsMultipleConnections = true)] 
public wsswebparts.ITransformableFilterValues SetConnectionCategory() 
{ 
    return filterValuesCategory; 
} 
0
filterValuesYear = new FilterValues("Year", ddlYear.SelectedValue); 
     filterValuesQuarter = new FilterValues("Quarter", ddlQuarter.SelectedValue); 

     [ConnectionProvider("Year", "performance_year", AllowsMultipleConnections = true)] 
    public ITransformableFilterValues SetConnectionYear() 
    { 
     return filterValuesYear; 
    } 

    [ConnectionProvider("Quarter", "performance_monthly", AllowsMultipleConnections = true)] 
    public ITransformableFilterValues SetConnectionQuarter() 
    { 
     return filterValuesQuarter; 
    } 

После установки каждой вещи WebPart Визуализирует, я вижу Оба соединения доступны. После попытки отправить Подключение к ReportViewerWebPart Окно открывается и становится Null реф (я попытался создать объект, как, когда она необходима, но ее не работает)

Благодарности -Samar

Смежные вопросы