【问题标题】:ASP.NET: GridView and DetailsView, Do I have to have separate connections to same database?ASP.NET:GridView 和 DetailsView,我是否必须与同一个数据库建立单独的连接?
【发布时间】:2011-06-13 19:44:59
【问题描述】:

我有一个 GV 和一个 DV,它们从同一个数据库中提取数据。这些控件之间的链接是选择GV中的记录时,DV显示有关该记录的更多详细信息。

我需要单独的连接吗?显然,我还没有实现这个目标,并且正在努力。谢谢。

澄清,以免浪费您的时间:

我问的是连接,而不是数据源。我不确定是否可以使用相同的连接的原因是,对于 GV,连接没有任何参数。而对于 DV,它需要将记录 ID 传递给它。还是我错了?

这是网络上让我想知道的代码链接: http://asp.dotnetheaven.com/util/srcview.aspx?path=~/aspnet/samples/data/GridViewMasterDetails.src

我是新手,所以仍然对术语感到困惑。感谢您的耐心。

【问题讨论】:

  • 您需要通过一个 ID。您可以在数据源中搜索对象以填充 DV。您将从 GV 的选定行中获取 ID,您可以使用它在 DataTable 中搜索填充 DV 所需的行。您可以使用 DataTable 上的 Select() 函数来满足此需求。
  • 谢谢@jmein,我正在添加一些我在网上看到的代码,这让我感到疑惑。请查看我编辑的问题。
  • 您可以根据需要使用 2 个数据源,也可以使用给定的 ID 搜索第一个数据源。
  • 非常感谢@jmein。感谢您的帮助。
  • 很高兴帮助并欢迎使用 StackOverflow!

标签: asp.net gridview detailsview


【解决方案1】:

他们可以使用相同的数据源。 (如 ObjectDataSource 或 SQLDataSource)

【讨论】:

  • 和其他人:澄清一下,我不是在询问 DATASOURCE。我在问 CONNECTION。
  • @user776676 您可以使用相同的连接。如果您使用的是实际的 SQLConnection 对象,您仍然可以使用相同的连接来绑定两者。但是,我建议使用 DataSource 对象来简化操作。
【解决方案2】:

您可以使用相同的数据源,即 DataTable。 But when the Gridview row is selected you will need to find the index of the selected row and then find the DataRow from the DataTable and rebind your DetailView to that DataRow.希望这会有所帮助。

【讨论】:

    【解决方案3】:

    我认为您正在使用 Visual Studio 数据绑定,我会说可以使用相同的 Connection(DataSource) 对象(如果是这样的话),但我宁愿建议您避免这种设计时间 Visual Studio 编程, 虽然简单快速

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2011-11-16
      • 1970-01-01
      • 2016-07-08
      • 1970-01-01
      • 1970-01-01
      • 1970-01-01
      • 2018-11-06
      • 1970-01-01
      相关资源
      最近更新 更多