GridView表1与表2相关

对不起,我知道标题确实令人困惑,但我无法弄清楚到底要放下什么。

基本上我创建了一个查询数据库并显示数据的网格视图。 它运作完美,没有抱怨,但我现在拥有的是,

在此处输入图像描述

但我想要的是,

在此处输入图像描述

问题:我不知道怎么能这样做,有人可以指出我正确的方向吗?

我想我将使用嵌套的网格视图。

尝试更改您的SELECT查询,如下所示…您将获得预期结果

SQL小提琴: http ://www.sqlfiddle.com/#!3 / 00b5f / 15

我将Table命名为Fruits

 SELECT CrateTitle,CrateDescription,CrateID, stuff( ( SELECT ','+ [FruitTitle] FROM fruits WHERE CrateID = t.CrateID FOR XML path('') ),1,1,'') Types_of_Fruits_in_Crate FROM (SELECT DISTINCT CrateTitle,CrateDescription,CrateID FROM fruits )t 

要么

CREATE a PROC

*Place this Query in that Proc*

*Call that Proc*

*assign that Result set to GridView*

您可以使用以下代码将他存储的Proc结果集分配给GridView:

  DataTable dt = new DataTable(); SqlConnection connection = new SqlConnection("Your Connection String"); try { connection.Open(); string spName = "YOURStoredProcudureName"; SqlCommand sqlCmd = new SqlCommand(spName, connection); SqlDataAdapter sqlDa = new SqlDataAdapter(sqlCmd); sqlCmd.CommandType = CommandType.StoredProcedure; sqlDa.Fill(dt); if (dt.Rows.Count > 0) { //display the DataTable to a Data control like GridView for example GridView1.DataSource = dt; GridView1.DataBind(); } } catch (System.Data.SqlClient.SqlException ex) { string msg = "Fetch Error:"; msg += ex.Message; throw new Exception(msg); } finally { connection.Close(); } 

这是一个sql(或你的数据库引擎使用的任何语言)问题而不是ac#问题,虽然c#的一个解决方案(虽然可能有点额外的工作)使用html文字在运行时绘制你的表

另一种选择是改变你的sql但没有更多的信息我不能说你是否可以在changeID或数据透视表上使用一个组