【问题标题】:Logic trouble with creating a DataTable in vb.net在 vb.net 中创建数据表的逻辑问题
【发布时间】:2012-03-19 15:37:54
【问题描述】:

我正在尝试构建一个 DataTable 以在 VB.NET 中填充 DataGrid。

这些列将是用户名,然后是考试中的问题。

每一行都是用户对每个问题的回答。

所以它看起来像这样:

Username  |   What is your favorite color? |  What is your favorite book?
-------------------------------------------------------------------------
Joe           Blue                            The Hobbit 

Fred          Red                             The Road

Jill          Orange                          Old Mans War

我得到了所有的问题,并通过一个循环来添加到这样的列中:

        Dim table As New DataTable
        table.Columns.Add("Username", GetType(String))

        For Each q In query
            table.Columns.Add(q.question.Stem, GetType(String))
        Next

        myDg.DataSource = table
        myDg.DataBind()

这很好用,并为我提供了一个包含所需列的表格,但我不知道如何让每个用户回答并将其放在适当的列下。

我尝试在同一个循环中添加行,但这只是在第一列下添加了所有答案。

欢迎任何帮助或想法!

谢谢!

【问题讨论】:

  • 您是否使用任何 dbms,您将数据存储在哪里?
  • 我从 LINQ 查询中获取数据

标签: asp.net vb.net


【解决方案1】:

您无需指定此数据的来源,但更简单的解决方案是将数据采用以下格式:

UserName    Question                        Answer

Joe         What is your favorite color?    Blue

检索每个问题的答案很简单,我怀疑(我希望)这能更准确地反映您的数据库。

【讨论】:

  • 谢谢,我认为如果每次考试只有几个问题,这看起来会很好,但如果我有一个有 30 个问题的考试,那么每个用户的问题/答案就是 30 行..跨度>
  • 在这种情况下,您将需要循环列并为每一列循环行并读取每一行的值。我不确定 Query 是什么类型的对象,所以很难更具体...
  • Simon...你的意思是遍历列循环内的行吗?谢谢
猜你喜欢
  • 1970-01-01
  • 2011-10-03
  • 2011-07-11
  • 2016-12-29
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多