SharePointDesigner3.0標準のドキュメントライブラリとVS2010で作成したボタンwebパーツとの
接続がうまくいかず困っています。
実現したい内容としては
①ドキュメントライブラリでドキュメントを選択
②ボタンを押下して、選択行の情報を取得
というものです。
ドキュメントライブラリをprovider、ボタンをconsumerとして実装しています。
ドキュメントライブラリは標準のものを使用しているため、特に手を入れていません。
using System;
using System.ComponentModel;
using System.Data;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
namespace WebPartDeploy.DataCooperation
{
[ToolboxItemAttribute(false)]
public class DataCooperation : WebPart
{
protected IWebPartRow _provider;
private DataRowView _dtaRowView;
protected Button btn;
protected override void CreateChildControls()
{
btn = new Button();
btn.Text = "ボタン";
btn.Click += new EventHandler(btn_Click);
this.Controls.Add(btn);
}
void btn_Click(object sender, EventArgs e)
{
//ボタン押下時の処理
}
[ConnectionConsumer("row")]
public void WebPartRowConnectionPoint(IWebPartRow provider)
{
_provider = provider;
}
protected override void OnPreRender(EventArgs e)
{
if (_provider != null)
{
_provider.GetRowData(new RowCallback(GetRowData));
}
}
private void GetRowData(object rowData)
{
_dtaRowView = (DataRowView)rowData;
}
}
}
ボタン押下時に選択行情報を取得したいのですが、ボタンクリックイベント後に
WebPartRowConnectionPointが呼び出されるため、送信データを取得することができません。
対処方法がありましたらご教授ください。