【问题标题】:How do I get a DataTextField value from another table?如何从另一个表中获取 DataTextField 值?
【发布时间】:2011-10-12 15:47:01
【问题描述】:

我有一个包含位置列表的下拉列表。数据源是一个名为 objectDataSourcePlaces 的 ObjectDataSource。 DataValueField 是PlaceID。我希望用户看到的值 DataTextField 位于另一个表中。

我猜我需要执行某种 JOIN 来从第二个表中获取显示字符串。问题是,如何从第二个表中获取显示字符串并在我的下拉列表中使用它?

【问题讨论】:

  • 在您的 SQL 中加入这些表并将此列添加到您的 location 对象。
  • 您的问题是与 SQL 相关(如何连接表)还是与 .NET 相关(如何向类添加属性)?
  • @Tim - 我对 SQL 和 C# 没问题。我不确定如何在 ASP.NET 中执行此操作。

标签: asp.net .net-4.0 objectdatasource


【解决方案1】:

是的,您将连接 DataValueField 上的表并选择文本字段。

例如:

Select T1.PlaceId, T2.Text as DTField
from Table1 T1
left join Table2 T2 on T1.PlaceID= T2.PlaceId
Where some condition

其他信息

我看到您在 ASP.net 方面遇到了问题。您所要做的就是将 DataTextField 设置为您通过连接表选择的文本字段。在我上面的例子中,你会做这样的事情:

   DataTextField = "DTField"

您可以在 Load 上的代码中或在需要时或在标记中作为下拉属性执行此操作。希望这会有所帮助。

【讨论】:

  • 好的,我明白你在做什么了。我仍然对如何实施它感到困惑。如何/在哪里实现 JOIN 表达式?在标记中,我有我的下拉列表和对象数据源。由于 BAL 的复杂性,我不想搞砸。我将 SelectMethod 属性设置为“SelectPlaces”,并在后面的代码中创建了一个方法。现在呢?
  • 您必须调整对象数据源。您可以通过设计视图做到这一点。只需选择对象数据源,然后单击配置数据源。
  • 也许这会有所帮助。 csharpdotnetfreak.blogspot.com/2009/06/…
猜你喜欢
  • 2018-04-28
  • 1970-01-01
  • 1970-01-01
  • 2019-05-25
  • 2021-10-19
  • 2010-09-18
  • 1970-01-01
  • 2020-03-22
  • 2020-07-10
相关资源
最近更新 更多