Одинаковые колонки в GridView
vladka63
Дата: 25.03.2010 08:03:33
Здравствуйте!
Есть GridView. Нужно вывести на страницу содержание не в одну колонку, а в две.
Не так:
Вася
Федя
Вова
Света
А так:
Вася Вова
Федя Света
Спасибо)
МСУ
Дата: 25.03.2010 09:10:09
А в источнике данных какая структура?
vladka63
Дата: 25.03.2010 09:50:23
МСУ,
две колонки: ID и Name
МСУ
Дата: 25.03.2010 10:03:11
А если нечетное кол-во записей в источнике, то вторая колонка должна быть пустая?
ShSerge
Дата: 25.03.2010 10:17:34
vladka63,
Напишите sql-запрос который это делает. Лучше оформить его в виде хр-ой процедуры.
vladka63
Дата: 25.03.2010 10:35:59
МСУ,
да, пустая.
мне просто не хочется ыводить в одну колонку. вот и хочу вывести в две, чтобы часть страницы не пустовало.
vladka63
Дата: 25.03.2010 10:39:56
vladka63,
я вообще подумал, что такая настройка делается уровне Grida.
пока общался с вами, может типа: четные Id в лево, не четные вправо..
МСУ
Дата: 25.03.2010 10:44:50
Ну, как вариант:
DataTable dt2 = new DataTable();
dt2.Columns.AddRange(new DataColumn[] { new DataColumn("Name1"), new DataColumn("Name2") });
for (int i = 0; i < dt.Rows.Count; i = i + 2)
{
dt2.Rows.Add(dt.Rows[i]["Name"], i + 2 > dt.Rows.Count ? string.Empty : dt.Rows[i + 1]["Name"]);
}
Только будет:
Вася Федя
Вова Света
ShSerge
Дата: 25.03.2010 11:04:19
Например:
DECLARE @t TABLE (id int IDENTITY (1,1), Name varchar(255))
INSERT INTO @t(Name) VALUES ('Вася')
INSERT INTO @t(Name) VALUES ('Федя')
INSERT INTO @t(Name) VALUES ('Вова')
INSERT INTO @t(Name) VALUES ('Света')
INSERT INTO @t(Name) VALUES ('Жора')
SELECT t1.Name AS LName, t2.Name AS RName
FROM @t t1
LEFT JOIN @t t2 ON t1.id+1=t2.id
WHERE t1.id%2=1
vladka63
Дата: 25.03.2010 11:15:13
ShSerge,
спасибо большое всем, код не проверял, но разберусь)