3
我有一个vb.net的网站,目前拥有考题每一行中垂直显示这样一个GridView:动态填充列标题在GridView
Name question answer
-----------------------
Joe question1 answer1
Joe question2 answer2
Joe question3 answer3
Jill question1 answer1
Jill question2 answer2
Jill question3 answer3
但我想改变它,从而使每个问题是一个标题,如下所示:
Name question1 question2 question3
----------------------------------
Joe answer1 answer2 answer3
Jill answer1 answer2 answer3
这使得它更具可读性,因为每个用户只列出一次。
我已经花了上午搜索解决方案的更好的一部分,但真的找不到任何工作。
我想坚持一个gridview而不是重写我所有的代码。
有没有人有什么建议?
我实际上通过一些其他程序员类将我的数据绑定到gridview。我使用LINQ这样的:
Return (From entry In report.FetchAllEntries()
Select questionID = entry.Question.QuestionID,
userID = entry.Session.User.ID,
firstName = entry.Session.User.FirstName,
lastName = entry.Session.User.LastName,
QuestionText = entry.Question.Stem,
UserResponse = entry.Response.Text,
FreeResponse = entry.ResponseText,
SessionDate = entry.Timestamp
Where SessionDate.HasValue AndAlso
SessionDate.Value >= dateField1 AndAlso
SessionDate.Value <= dateField2
Order By lastName, SessionDate, questionID
感谢
它看起来像你可能可以通过修改你的SQL查询(就像做一个'PIVOT'或其他)。你可以显示为你的'GridView'生成数据的查询吗? – jadarnel27 2012-03-06 15:34:01
我通过LINQ语句绑定。我不确定我是否可以修改LINQ语句来切换它......我编辑了我的原始文章以包含LINQ。 - 谢谢 – SkyeBoniwell 2012-03-06 15:41:20
您可能能够使用另一个linq查询来转发数据:http://stackoverflow.com/questions/167304/is-it-possible-to-pivot-data-using-linq – jmaglio 2012-03-06 16:25:07