Как отобразить строку DataTable в нижнем колонтитуле Repeater - PullRequest
0 голосов
/ 17 октября 2011

Мне нужно создать таблицу, в которой все строки находятся внутри <tbody></tbody>, а последняя строка (сумма с суммами столбцов) находится внутри <tfoot></tfoot>.

Можно ли поместить последний ряд DataTable (который связан с Repeater) в нижний колонтитул, где я могу определить соответствующий шаблон?

1 Ответ

3 голосов
/ 17 октября 2011

Я бы предложил суммировать столбцы с помощью DataTable.Compute в ItemDataBound повторителя.

Например (VB.NET, не тестировался, при условии, что есть столбец с именем «Всего»):

Sub R1_ItemDataBound(Sender As Object, e As RepeaterItemEventArgs)
     If (e.Item.ItemType = ListItemType.Footer) Then
        Dim tbl = DirectCast(DirectCast(sender, Repeater).DataSource, DataTable)
        Dim total = DirectCast(tbl.Compute("Sum(Total)", Nothing), Double)
        ' show this value in appropriate cell/control in footer '
    End If
End Sub
...