我使用Sharepoint,并尝试使用多个参数连接Web部件。
我的问题是如何将多个参数从客户网站部件传递到另一个参数。
我可以通过在自定义webpart中实现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;
}
感谢您的帮助。对不起我的英语。
答案 0 :(得分:3)
创建一个实现ITransformableFilterValues接口的类(而不是在Web部件类中实现它)
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;
}
答案 1 :(得分:0)
确保报告参数处于可见模式。它对我有用。试一试
由于 的Vivek
答案 2 :(得分: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;
}
答案 3 :(得分: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 Renders的所有内容后,我看到两个连接都可用。 尝试发送连接到ReportViewerWebPart窗口后打开并获取Null Ref(我尝试创建对象,因为它需要但不起作用)
由于 -Samar