отображать данные по-разному в сетке данных - PullRequest
1 голос
/ 20 декабря 2010

В моей таблице данных есть следующее, и я хочу отобразить его по-другому, как во втором примере ниже в таблице данных. Кто-нибудь знает, есть ли способ сделать это?

UserID          Questions                                      Answers

1            What is your dog’s name                            belle

1            Tell us why you should win.                  Because I need to win

2            What is your dog’s name                            Leigh

2            Tell us why you should win.                  I’ve never won before

Я бы хотел, чтобы результат отображался ниже в виде сетки.

UserID      Question: What is your dog’s name       Question: Tell us why you should win.

1                  Answer: belle                       Answer: Because I need to win

2                  Answer: Leigh                       Answer: I’ve never won before

1 Ответ

1 голос
/ 20 декабря 2010

Это может помочь вам:

public class QuestionAnswerMap
{
    public string Question { get; set; }
    public string Answer { get; set; }
}

class Program
{

    static void Main(string[] args)
    {
        var list = new List<QuestionAnswerMap>();
        list.Add(new QuestionAnswerMap() { Question = "Q1", Answer = "A1" });
        list.Add(new QuestionAnswerMap() { Question = "Q1", Answer = "A2" });
        list.Add(new QuestionAnswerMap() { Question = "Q2", Answer = "A3" });
        list.Add(new QuestionAnswerMap() { Question = "Q2", Answer = "A4" });
        list.Add(new QuestionAnswerMap() { Question = "Q2", Answer = "A5" });

        var result = list.GroupBy(y => y.Question).ToDictionary(y => y.Key);
        foreach (var item in result)
        {
            Console.WriteLine("Question: " + item.Key);
            foreach(var value in item.Value.ToList())
                Console.WriteLine("Answer: {0}", value.Answer);
        }
        Console.ReadLine();
    }
}

Я иллюстрирую вашу первую таблицу с QuestionAnswerMap. По сути, вы группируете по каждому вопросу, чтобы получить ответы по каждому вопросу. Когда у вас есть это, не должно быть сложным динамически построить сетку.

Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...