【问题标题】:How to display DataTable row in Repeater's footer如何在Repeater的页脚中显示DataTable行
【发布时间】:2023-03-14 14:43:01
【问题描述】:

我需要创建表,其中所有行都在 <tbody></tbody> 内,最后一行(总和列)在 <tfoot></tfoot> 内。

我可以将DataTable 的最后一行(绑定到Repeater)放入页脚,我可以在其中定义适当的模板吗?

【问题讨论】:

    标签: asp.net data-binding repeater


    【解决方案1】:

    我建议通过转发器的ItemDataBound 中的DataTable.Compute 对列求和。

    例如(VB.NET,未测试,假设有一个名为'Total'的列):

    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
    

    【讨论】:

    • 感谢您的回复!我想过这样的事情,但我不知道如何从这个事件中访问 DataTable。我认为它应该可以工作,但我现在没有时间检查,所以我明天试试这个并告诉你。
    • @Episodex:编辑了我的答案并纠正了一些明显错误的地方。但是,即使它不是 100% 正常工作,您现在也应该有一个线索。
    猜你喜欢
    • 2019-03-27
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 2012-10-02
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多