Конвертировать RowData в столбцы GridView через LINQ - PullRequest
1 голос
/ 12 февраля 2010

В настоящее время я работаю над проектом, в котором мне нужно отобразить данные строки в столбцах gridview, например, если мои данные находятся в следующей форме.

Username   Jack
Phone      2222222
Email      jack@gmail.com

и я хочу показать эти данные по столбцам в сетке, как показано ниже

Username          Phone           Email
jack              2222222       jack@gmail.com

Как бы я это сделал? особенно через LINQ, как я могу запросить БД любым способом, чтобы он возвращал данные в форме, которую я хочу?

1 Ответ

0 голосов
/ 12 февраля 2010

Вы хотите транспонировать свои данные. Вот метод расширения, который вы можете использовать, бессовестно украденный из здесь :

public static IEnumerable<IEnumerable<T>> Transpose<T>(this IEnumerable<IEnumerable<T>> values)
    {
        if (values.Count() == 0) 
            return values;
        if (values.First().Count() == 0) 
            return Transpose(values.Skip(1));

        var x = values.First().First();
        var xs = values.First().Skip(1);
        var xss = values.Skip(1);
        return
         new[] {new[] {x}
           .Concat(xss.Select(ht => ht.First()))}
           .Concat(new[] { xs }
           .Concat(xss.Select(ht => ht.Skip(1)))
           .Transpose());
    }
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...