如何在一个下拉列表中显示多个数据列?

时间:2017-08-17 03:25:19

标签: c# asp.net

我想在一个下拉列表中显示2个数据库表中活动为no的数据。如何在一个下拉列表中编译所选数据?

我正在使用工具箱中的SqlDataSource

SELECT [Desktop_ID], [DTComputerName] FROM [Desktop] WHERE ([DTActive] LIKE '%' + @ DTActive + '%')`

SELECT [Notebook_ID], [NBComputerName] FROM [Notebook] WHERE ([NBActive] LIKE '%' + @ NBActive + '%')

我想在两个查询中显示DropDownList中的选定值。但是,我只能使用1个数据源来显示。我正在使用Visual Studio 17和SQL Server Management Studio

2 个答案:

答案 0 :(得分:0)

您可以在sql中使用union或union all将多个select查询的结果集连接到单个结果集。

SELECT [Desktop_ID], [DTComputerName] FROM [Desktop] 
       WHERE ([DTActive] LIKE '%' + @ DTActive + '%')`
UNION ALL
SELECT [Notebook_ID], [NBComputerName] FROM [Notebook] 
       WHERE ([NBActive] LIKE '%' + @ NBActive + '%')
  

指向注意事项

     
      
  • 所有选择集中的列数应相等。
  •   
  • 可能很难区分哪个值来自哪个表结果合并为一个结果集。
  •   

答案 1 :(得分:0)

你可以在C#中使用合并方法。这是它的例子。对于下拉列表项,它工作得很好。

 x3 <- x[order(Date, xval), {
      if(.N > 1){
         afun <- approxfun(xval, yval, rule = 1)
     }else{
         fn <- function(x){
             force(x)
             function(v) x
         }
         afun <- fn(yval)
     }
     print(afun(30))
     list(Date, afun = list(afun))
 }, by = Date]

 sapply(x3[, afun], do.call, args = list(v = 30))