如何从下拉列表中选择的表中选择数据?

时间:2012-12-14 19:37:31

标签: c# asp.net

我在页面上有一个下拉列表,在下拉列表中我有数据库中表格的名称。 我不知道如何在gridview或datalist中插入所选表格中的数据。

我尝试使用我在学校做的另一个c#项目的代码,但它没有用

编辑:这里添加了答案

protected void Button1_Click(object sender, EventArgs e)
{

    OleDbConnection con = new OleDbConnection(connectionString);
     OleDbDataAdapter da = new OleDbDataAdapter (string.Format("SELECT * from {0}", dropDownList.SelectedValue), con);
    DataSet ds = new DataSet();
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    da.Fill(ds);

    GridView1.DataSource = ds.Tables[0];
    GridView1.DataBind();
    con.Close();
}

2 个答案:

答案 0 :(得分:1)

您可以告诉代码将下拉列表选中项的值放在查询中,如下所示:

protected void Button1_Click(object sender, EventArgs e)
{
    OleDbConnection con= new OleDbConnection(connectionString);

    SqlDataAdapter da = new SqlDataAdapter(string.Format("SELECT * FROM {0}",DropDownList1.SelectedValue), con);
    DataSet ds = new DataSet();
    da.MissingSchemaAction = MissingSchemaAction.AddWithKey;
    da.Fill(ds);

    GridView1.DataSource = ds.Tables[0];
    GridView1.DataBind();
    con.Close();
}

我在发布之前测试了这个,它可以在我的机器上运行。当你这样做,如果你不能使它工作,问题应该是在其他地方。

答案 1 :(得分:0)

这很容易做到。我假设你的下拉列表在你的gridview中,它也是一个asp gridview。如果是这种情况,那么在您捕获selectedindexchange或按钮单击的情况下。您必须在gridview中找到下拉列表,然后使用selectedvalue属性。它会像这样找到它(把它放在你的事件处理程序中)

Dim ddl as dropdownlist = gridview.row(e.rowindex).findcontrol(“dropdownID”)

Dim val = ddl.selectedvalue

在查找控件时可能需要进行的唯一更改取决于下拉列表中的行类型以及正在使用的事件。如果上面没有找到控件你可以尝试gridview.row.findcontrol(“dropdownID”)

获得值后,可以调用insert的方法并将其作为参数传递:)