2009-03-24 2 views
0

На странице asp.net у меня есть пять gridviews, в которых перечислены некоторые числа. В заголовке каждого gridview я хочу суммировать числа в списках. Поэтому, если в листинге содержатся строки с номерами 1,2,3, заголовок в заголовке будет равен 0.Суммировать gridview

Я не могу найти способ сделать это в моем запросе для gridview (SELECT number, SUM (number) FROM tbl, не работает).

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

Какое оптимальное решение для этого?

Спасибо!

ответ

1

Что вы можете сделать в событии Pre_Render страницы, прокрутите строки как таковые. GridView1:

int Total = 0; 
GridView1.HeaderRow.Cells[0].Text = GetTotals(); 
private String GetTotals() 
{ 
Foreach(GridviewRow row in GridView1.Rows) 
{ 
Total += int.Parse(((Label)row.FindControl("RowValue")).Text); 
} 
return Total.ToString(); 
} 

должны работать для вас.

+0

+1 пока не очень, это сработает. Г-жа вложила некоторые ограничения в конструкцию gridview, особенно при выполнении поискового вызова. Я говорю об этом, потому что пейджинг повлияет на другие решения (например, используя linq2sql для получения того же самого) и требует, чтобы работа была связана с объектными источниками данных. – eglasius