2011-01-13 10 views
0

aspxページに2つのusercontrolがあります。 1つのコントロールは検索クリーテリアと検索ボタンを持ち、2番目のユーザーコントロールはグリッドビューを持っています。ユーザーコントロールのグリッドビューのバインド

ユーザーがcreteriaを入力して検索ボタンをクリックすると、gridviewをバインドする方法を教えてください。

答えて

1

クリックイベントは、aspxページまでバブリングしてから、gridview usercontrolに渡す必要があります。イベントをバブル処理する方法については、次のリンクを参照してください。第一のUserControlを考慮

http://odetocode.com/code/94.aspx

0

のDataTableを作成します。 2番目のUserControlでデータテーブルを受け入れ、コントロール内のグリッドにバインドするプロパティを指定します。

Control2の:

public datatable Result{get;set;} 

Private void SetGrid() 
{ 
datagrid1.datasource=Result; 
datagrid1.databind(); 
} 

制御1:あなたが第二のユーザには、最初のユーザーコントロールに

などのような
<%@ Reference Control="first user control names comes here" %> 

を参照することができた.ascxページでは、第2のユーザ制御で

Datatable dt=SearchResult(); 
Control2.Result=dt; 
0

コントロールページのロードイベントを使用して、最初のユーザーコントロールのオブジェクトを見つけることができます

UserControls_UCFirst uc1 = (UserControls_UCFirst)this.Parent.FindControl("UCFirst1"); 

最初のユーザーコントロールの検索条件オブジェクト(TextBox、DropDownListなど)を見つけることができます。

TextBox txt = (TextBox)(uc1.FindControl("txtName")); 

上記の手順では、グリッドビューをバインドできます。

希望すると便利です。

0

最初に検索結果をDataTableで取得し、DataTableをViewStateに格納します。 ViewState内のDataTableをGridViewのデータソースとして設定します。このよう 、私はこれをuを助けることを願っています

GridView1.DataSource = ViewState["DataTable1"]; 
GridView1.DataBind(); 

関連する問題