aspxページに2つのusercontrolがあります。 1つのコントロールは検索クリーテリアと検索ボタンを持ち、2番目のユーザーコントロールはグリッドビューを持っています。ユーザーコントロールのグリッドビューのバインド
ユーザーがcreteriaを入力して検索ボタンをクリックすると、gridviewをバインドする方法を教えてください。
aspxページに2つのusercontrolがあります。 1つのコントロールは検索クリーテリアと検索ボタンを持ち、2番目のユーザーコントロールはグリッドビューを持っています。ユーザーコントロールのグリッドビューのバインド
ユーザーがcreteriaを入力して検索ボタンをクリックすると、gridviewをバインドする方法を教えてください。
クリックイベントは、aspxページまでバブリングしてから、gridview usercontrolに渡す必要があります。イベントをバブル処理する方法については、次のリンクを参照してください。第一のUserControlを考慮
はの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;
コントロールページのロードイベントを使用して、最初のユーザーコントロールのオブジェクトを見つけることができます
UserControls_UCFirst uc1 = (UserControls_UCFirst)this.Parent.FindControl("UCFirst1");
最初のユーザーコントロールの検索条件オブジェクト(TextBox、DropDownListなど)を見つけることができます。
TextBox txt = (TextBox)(uc1.FindControl("txtName"));
上記の手順では、グリッドビューをバインドできます。
希望すると便利です。
最初に検索結果をDataTableで取得し、DataTableをViewStateに格納します。 ViewState内のDataTableをGridViewのデータソースとして設定します。このよう 、私はこれをuを助けることを願っています
GridView1.DataSource = ViewState["DataTable1"];
GridView1.DataBind();
。