绑定来自sql表的gridview,但这个绑定不是针对特定的表,它会根据用户输入而不断变化

时间:2013-12-29 18:13:41

标签: c# asp.net sql sql-server-2008-r2

我有一个名为TableExplorer的表,其中包含其他表的名称及其各自的列名。

例如:表格Customer可能有5列,但在TableExplorer中我可能只提到5个列中的2个列名称。

用户在查询字符串中向我发送表名,我的工作是在最初提到的TableExplorer中找到该表名是否存在。如果用户提到表存在,那么我应该将该表绑定到gridview,并且该gridview应该具有编辑,删除,更新等功能。最后,用户编辑,删除或更新等任何操作都应反映在用户提到的相应表格中。

  • 使用的数据库:SQL Server 2008 R2
  • 编程语言:C#,ASP.NET

提前感谢您的帮助。

1 个答案:

答案 0 :(得分:0)

您使用的是WebForms吗?我远不是一个WebForms专家,但这就是我要做的事情:

您可以使用GridView控件创建不同的页面,例如,每个表格可能需要绑定一个页面。 Customer表。您为此GridView,插入,更新,删除创建CRUD操作。您可以为用户可能需要的所有列创建参数,其中一些列可能不可见。

用户进入他的选择页面,他选择一个表格和一列列表,然后按提交他的请求。每当您收到查询字符串时,您都会做两件事:

  1. 确定用户要求的表格并加载正确的页面(如果有)。也许您只能使用Ajax加载特定的GridView控件。或者也许您可以简单地加载另一页。
  2. 从查询字符串中获取用户希望在其网格中看到的列的列表。在向他显示网格之前,您可以将这些列保持可见,并在每个其他列的gridview中隐藏/删除。您还必须将此参数传递给插入/更新方法。
  3. 我认为这是一个很好的解决方案,假设您没有数百个表的列表,我不会尝试创建完全动态的