【发布时间】:2012-03-06 15:31:53
【问题描述】:
我有一个带有 gridview 的 vb.net 网站,该网站目前在每一行中垂直显示试题,如下所示:
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 而不是重写我的所有代码。
有人有什么建议吗?
我实际上是通过其他一些程序员类将我的数据绑定到网格视图。我正在使用这样的 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生成数据的查询? -
我通过 LINQ 语句进行绑定。我不确定我是否可以修改 LINQ 语句以像那样切换它...我编辑了我的原始帖子以包含 LINQ。 --谢谢
-
您也许可以使用另一个 linq 查询来透视数据:stackoverflow.com/questions/167304/…