2

私はasp.netで作業しており、複数のテーブルを動的に生成してから、各テーブルをWebページに表示したいと考えています。したがって

、Environments.aspx.cs ファイルでは次のようになります。

  1. データベースにクエリを実行してデータを取得し、作成する必要があるテーブルの数を見つけます
  2. ループを使用して各テーブル (1 または 50) を作成および定義します。各テーブルには 6 つの列があり、行は返されるデータによって異なります

おそらく Environments.aspx ファイルで:

  1. 作成された各テーブルを表示します。テーブルの配置を完全に制御する必要があります。

ユーザーフレンドリーな外観を維持するために、1 つの大きなテーブルを作成することは避けたいと思います。誰かが短いコード例を提供できれば、私はそれを感謝します。

4

2 に答える 2

3

これがサンプルです。それがあなたを続けさせてくれることを願っています。

ここに画像の説明を入力

<asp:ListView runat="server" ID="ListView1" ItemPlaceholderID="Panel1" 
    OnItemDataBound="ListView_ItemDataBound">
    <LayoutTemplate>
        <asp:Panel runat="server" ID="Panel1"></asp:Panel>
    </LayoutTemplate>
    <ItemTemplate>
        <%#Eval("Name") %>
        <asp:GridView runat="server" ID="GridView1" AutoGenerateColumns="False">
            <Columns>
                <asp:BoundField DataField="LastName" HeaderText="LastName" />
                <asp:BoundField DataField="FirstName" HeaderText="FirstName" />
            </Columns>
        </asp:GridView>
    </ItemTemplate>
</asp:ListView>

public class House
{
    public int HouseId { get; set; }
    public string Name { get; set; }
    public List<User> Users { get; set; }
}

public class User
{
    public int UserId { get; set; }
    public string FirstName { get; set; }
    public string LastName { get; set; }
}

public List<House> Houses
{
    get
    {
        return new List<House>
            {
                new House
                    {
                        HouseId = 1,
                        Name = "House One",
                        Users = new List<User>()
                            {
                                new User {UserId = 1, FirstName = "John", LastName = "Newton"},
                                new User {UserId = 2, FirstName = "Marry", LastName = "Newton"},
                                new User {UserId = 3, FirstName = "Joe", LastName = "Newton"}
                            }
                    },
                new House
                    {
                        HouseId = 1,
                        Name = "House Two",
                        Users = new List<User>()
                            {
                                new User {UserId = 6, FirstName = "Newton", LastName = "Doe"},
                                new User {UserId = 7, FirstName = "Jack", LastName = "Doe"},
                                new User {UserId = 8, FirstName = "Lewis", LastName = "Doe"}
                            }
                    }
            };
    }
}

protected void Page_Load(object sender, EventArgs e)
{
    if (!IsPostBack)
    {
        ListView1.DataSource = Houses;
        ListView1.DataBind();
    }
}

protected void ListView_ItemDataBound(object sender, ListViewItemEventArgs e)
{
    var house = e.Item.DataItem as House;
    var gridView = e.Item.FindControl("GridView1") as GridView;

    gridView.DataSource = house.Users;
    gridView.DataBind();
}
于 2013-02-20T21:28:27.753 に答える