1

私はasp.net gridview(WEB.UI.Contorl)に取り組んでいます。1 つのグリッドビューのみを使用したい。ボタンがクリックされると、gridview1 は table1 によって埋められるべきです。2 番目のボタンがクリックされると、gridview1 が table2 で埋められるはずです。

これは可能ですか..?

4

2 に答える 2

1

これを試しましたか

<asp:Button ID="Button1" runat="server" onclick="Button1_Click" 
        Text="Button 1" />
    <asp:Button ID="Button2" runat="server" onclick="Button2_Click" 
        Text="Button 2" />
    <br />
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>

コードビハインドで

protected void Button1_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = CallToMethodThatReturnFirstDatatable();
        GridView1.DataBind();
    }

    protected void Button2_Click(object sender, EventArgs e)
    {
        GridView1.DataSource = CallToMethodThatReturnSecondDatatable();
        GridView1.DataBind();
    }
于 2013-01-13T13:44:23.550 に答える
0

はい、ストアドプロシージャを呼び出します。MyProc(@ParamTable、....)次に、プロシージャに、@Paramの値に応じてテーブルを選択するifステートメントがあります。ただし、これはいくつかの理由から適切なアプローチではありません。はるかに多くのジゲリーポケリーを行わない限り、Linqはクラスを生成しません。ただし、学習曲線は良好です... asp netを使用しているため、他のテーブルを取得するためにポストバックを生成している可能性があります。したがって、別のページへのresposeリダイレクトでは、話すオーバーヘッドはまったくありません。ポストバックなしで非同期にすることを主張する場合は、プロシージャにテーブル変数への挿入のようなものを実行させてから、テーブル変数変数のselectを、ハードコードされた列変数の行と結合する必要があります。返されません...

于 2013-01-13T13:38:12.537 に答える