-1

我在页面上有一个下拉列表,在下拉列表中我有数据库中表的名称。我不知道如何在 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();
}
4

2 回答 2

1

您可以告诉代码将 dropdowlists 选定项的值放入查询中,如下所示:

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();
}

我在发布之前已经测试过了,它可以在我的机器上运行。当您这样做时,如果您无法使其正常工作,则问题应该出在其他地方。

于 2012-12-14T19:45:45.273 回答
0

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

将 ddl 调暗为 dropdownlist = gridview.row(e.rowindex).findcontrol("dropdownID")

Dim val = ddl.selectedvalue

在查找控件方面可能需要进行的唯一更改取决于下拉菜单所在的行类型以及正在使用的事件。如果上面找不到控件,您可以尝试 gridview.row.findcontrol("dropdownID")

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

于 2012-12-14T19:46:59.540 回答