2012-12-14 174 views
-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(); 
} 
+0

什么你到目前为止尝试过吗?张贴在这里,我们可以指出你在正确的方向。为了将来的参考,如果你在某个特定的编程问题上发帖,而不是要求为你编写整个代码块,你会在SO上得到更好的结果。 –

回答

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

我在发布它之前测试过它,它在我的机器上工作。当你这么做,如果你不能得到它的工作问题应该在别的地方。

+0

由于某种原因,此代码不起作用 – user1892380

+0

我编辑过的代码已经过检查,可以在我的电脑上运行,请检查它并让我知道发生了什么。 –

+0

谢谢,我编辑了一下,它的作品 – user1892380

0

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

昏暗的DDL为下拉列表= gridview.row(e.rowindex).findcontrol( “dropdownID”)

昏暗VAL = ddl.selectedvalue

关于查找控件可能必须做出的唯一更改取决于下拉列表中的行类型以及正在使用的事件。如果上面不会找到的控制,你可以尝试gridview.row.findcontrol(“dropdownID”)

一旦你的价值,你可以调用该方法用于插入,并作为参数传递:)

+0

dropdownlist不在网格视图中。 的 < asp:AccessDataSource ID =“AccessDataSource1”runat =“server” DataFile =“〜/ App_Data/ASP.NET_Database(1).mdb” SelectCommand =“SELECT [imeFIlma] FROM [filmovi]”> 这是我从中得到表的下拉列表和accessdatasource – user1892380

+0

如果你使用一个asp gridview,你可以访问其中的控件的值(databo和控制)。如果你只是在页面的表单上有一个控件,那么你可以通过runat = server属性设置访问回发控件。真的取决于你如何在页面上设置控件 – user1732364

+0

然后在这种情况下很容易:)。我喜欢让visual studio将事件方法留给我,所以我会转到设计视图,单击ddl和goto属性,单击闪电(事件),然后双击选定的indexchange ..它会将它存根。在这种情况下,您将有权访问选定的值。您可以将它保存在一个变量中,或者您可以在该事件期间执行插入方法。如果将它保存在变量(应用程序的范围)中,则可以在事件期间设置其值,并将其作为插入方法的参数传递。 – user1732364