2

私は非常に単純なシナリオを持っていますが、この分野での経験が乏しく、グーグルで検索してもあまり役に立ちませんでした。

C# コード ビハインドを含む従来の ASPX ページを考えてみましょう。DataTables (またはDataSet複数のテーブルを持つ ) のリストがあるとします。テーブルごとに 1つを使用してすべてのテーブルを表示する手段が必要DataGridです。

DataSet全体をバインドしようとしましDataGridたが、最初のテーブルのみが表示されました。

Repeaterと組み合わせて使用​​するDataGrid必要があるとのことですが、これまたはまったく異なる (より良い) 代替手段について助けが必要です。

4

3 に答える 3

4

これは、動的コントロールを使用した例です。

ASPX

    <asp:Panel runat="server" ID="myPanel" Width="100%">
    </asp:Panel>
    <asp:Label ID="lblMessage" runat="server" />
    <asp:Button Text="Just post" runat="server" />

コードビハインド

    protected void Page_Init(object sender, EventArgs e)
    {
        var s1 = Builder<Product>.CreateListOfSize(5).Build();
        var s2 = Builder<Order>.CreateListOfSize(9).Build();

        var g1 = new DataGrid { Width = new Unit("50%"), DataSource = s1 };
        var g2 = new DataGrid { Width = new Unit("50%"), DataSource = s2 };

        this.myPanel.Controls.Add(g1);
        this.myPanel.Controls.Add(g2);
    }

    protected void Page_Load(object sender, EventArgs e)
    {
        this.DataBind();
    }

出力:

各グリッドのビュー ステートはポスト バック間で保持されることに注意してください。

ここに画像の説明を入力

于 2012-06-25T18:24:32.723 に答える
1

すべてのテーブルに何を表示したいのかわかりません。すべてのテーブルを表示する場合でも、すべてのテーブル レコードの見出しをどのように管理するのでしょうか。まず自分が何を望んでいるのかを考える必要があると思いますか?

すべてのテーブルに同じ数の列がある場合、保守は簡単です。ユニオンの使い方を知っていますか?

select x, y,z from table1
union 
select x, y,z from table2
union 
select x, y,z from table3
union 
select x, y,z from table4

4 つのテーブルすべてから 1 つのテーブル結果のみが作成され、簡単にバインドできます。

これが必要かどうかはわかりませんが、とにかくあなたを助けようとしました:)

于 2012-06-25T18:34:49.463 に答える
1

このリンクを見てください:

http://msdn.microsoft.com/en-us/library/system.data.dataset.tables.aspx

データセットを使用している場合は、次のようなことができます。

MyGrid.DataSource = dataset.Tables[0]
MyGrid2.DataSource = dataset.Tables[1]

次に、グリッド内のテーブル インデックスごとに繰り返します (例: 1、2、3)。

于 2012-06-25T18:24:19.310 に答える