选择下拉列表值并显示来自不同表ASP.NET的gridview

时间:2012-06-01 23:10:45

标签: asp.net drop-down-menu

我创建了Web应用程序。我添加下拉列表。我将列表与表类别的名称连接起来。例如1,2,3。当我选择值1时,应该创建填充了表1中数据的网格视图。当我选择2创建网格视图时,填充表2中的数据。 我连接SQL数据库中的表。 PrimaryKey类别ID,外键1,外键2 approprietly。

我知道如何通过下拉列表中的选择值填充网格视图,但是来自一个表的值。在这种情况下,我有4个表,我不知道如何实现这一点。有人可以帮助我吗?通过一些教程或一段代码?感谢

1 个答案:

答案 0 :(得分:1)

试试这个......

aspx页面:

<body>
    <form runat="server">
    <asp:DropDownList runat="server" ID="ddlDb" AutoPostBack="True" OnSelectedIndexChanged="ddlDb_SelectedIndexChanged">
        <asp:ListItem Text="-- Select --" Value=""></asp:ListItem>
        <asp:ListItem Text="Students" Value="Students"></asp:ListItem>
        <asp:ListItem Text="Classes" Value="Classes"></asp:ListItem>
    </asp:DropDownList>
    <asp:GridView ID="GridView1" runat="server">
    </asp:GridView>
    </form>
</body>

aspx.cs:

protected void ddlDb_SelectedIndexChanged(object sender, EventArgs e)
{
    if (!string.IsNullOrEmpty(ddlDb.SelectedValue))
    {
        var dbPath = Server.MapPath(@"\App_Data\Database1.mdf");
        var scon = "Data Source=.\\SQLEXPRESS;AttachDbFilename='" + dbPath + "';Integrated Security=True;User Instance=True";
        var cmd = "select * from " + ddlDb.SelectedValue;

        var dt = new DataTable();
        var da = new SqlDataAdapter(cmd, scon);
        da.Fill(dt);

        GridView1.DataSource = dt;
        GridView1.DataBind();                
    }
}

enter image description here

enter image description here