2011-05-21 62 views
1

如何在c#asp.net中创建一个gridview控件,它的行为就像一个mssql数据库?我的意思是,我有一个下拉列表,其中的项目表示数据库中的表名,gridview是在选定的表名上构建的。所以基本上,gridview显示来自任何表格的数据都在下拉列表中选择。我想用这个gridview编辑,插入或删除数据库中的行。有什么建议么?gridview像数据库

回答

0

,因为我无法找到解决这个问题,我已经决定要动态地创建一个表,并创建更新/插入引用表中的某些行的命令。

0

您需要使用下拉列表中选定的表名创建动态查询。对数据库执行它并将结果绑定回gridview。

见这个例子为例

你需要做一些像这个 -

string connectionString = WebConfigurationManager.ConnectionStrings["Northwind"].ConnectionString; 
    string selectSQL = String.Format("SELECT * FROM [{0}]", ddlTable.SelectedValue); 

    //execute query, fill dataset 

    GridView1.DataSource = ds; 
    GridView1.DataBind(); 

此外,您可能想看看如何获​​得List of all tables in database

+0

是的,我没有问题,直到这里,但updatecommand怎么样?我必须指定一个updatecommand以及如果这些表是动态的呢? – Shaokan 2011-05-21 10:38:13

0

如果你想要t o在您的ddl中动态生成表格列表,然后您可以看看here,您还可以利用this链接,这将帮助您使用gridView进行INSERT,DELETE,UPDATE更新。

希望它能帮助:)

2

gridview您可以轻松地通过使用查询绑定表的所有值。

string selectSQL = String.Format("SELECT * FROM [{0}]", ddlTable.SelectedItem.Text); 

刚刚成立AutoGenerateColumns="True"

现在在GridView可以启用命令字段中它会帮助你这个你可以在GridView中的列属性找到。 通过使用您可以编辑删除选择GridTable中的任何行。

<asp:CommandField ShowEditButton="True" /> 
<asp:CommandField ShowSelectButton="True" /> 
<asp:CommandField ShowDeleteButton="True" /> 
+0

对不起,这是我的不好,我必须更具体,我已经可以从每个表中获取数据没有任何问题,但我怎么能设置一个动态的updatecommand?我的意思是,一旦我在下拉列表中选择了表格,gridview就会显示相关数据,直到那里没有问题,但更新命令如何?因为每个表格都有不同的结构,我必须在每个表格的代码后面分别创建updatecommand,还是有任何自动的方法来做到这一点? – Shaokan 2011-05-21 09:38:04

+0

您是否尝试LINQ来获取,更新或删除?如果您使用该功能,则必须明确写入每个表数据 – Vir 2011-05-21 12:03:23

相关问题