抱歉,我知道 Title 确实令人困惑,但我无法弄清楚到底该放下什么。
基本上我创建了一个查询数据库并显示数据的网格视图。它完美地工作,没有抱怨,但是我现在拥有的是,
但我想要的是,
问题:我不确定我该怎么做,有人可以指出我正确的方向吗?
我想我会使用嵌套的gridviews。
尝试更改您的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*
您可以使用以下代码将他的存储过程结果集分配给 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 或数据透视表上使用 group by