none
急!datagrid分页时,怎么计算该页某数字栏位的相加值? RRS feed

  • 问题

  • 我用RiA service做公司的薪资报表,用datagrid+DomainDataSource+DataPager分页时遇到二个问题:

    1. 怎么给datagrid添加一个footer,就如asp.net里的gridview里的footer.

    2. 薪资报表分页时,怎么在footer里得到每页的工资总额?

    请各位大大指点,谢谢,最好有参考代码。

    2010年6月27日 4:12

答案

全部回复

  • 你好,

           现在我看到的方法都是直接在datagrid下边加上一个textbox或者一行textbox来模拟一个footer.

           你可以在翻页的事件里计算当前页的工资总额,然后赋予textbox

           http://blog.benday.com/archive/2009/11/02/23248.aspx

           http://forums.silverlight.net/forums/t/56897.aspx

    2010年6月30日 2:31
  • 你好,

           现在我看到的方法都是直接在datagrid下边加上一个textbox或者一行textbox来模拟一个footer.

           你可以在翻页的事件里计算当前页的工资总额,然后赋予textbox

           http://blog.benday.com/archive/2009/11/02/23248.aspx

           http://forums.silverlight.net/forums/t/56897.aspx

    首先谢谢版主的回答。这里仍然有二个问题存在,请版主帮忙解决下,最好有代码参考,谢谢了:

    1. 未发生翻页时,如何计算当前页的工资总额呢?
    2. 翻页事件里计算当前页的工资总额时,我总是得到上一页的工资总额,不知道是什么问题?我的代码如下:

            private void dataPager1_PageIndexChanging(object sender, System.ComponentModel.CancelEventArgs e)
            {
                int total = 0;
                foreach (object o in DataGrid1.ItemsSource)
                {
                    PriceTable _PriceTable = o as PriceTable;
                    total += _PriceTablee.Moneys;

                }
                this.textBlock1.Text = total.ToString();//这里得到的是上一页的总额???
            }

    2010年7月1日 9:50
  • private void dataPager1_PageIndexChanging (object sender, System.ComponentModel.CancelEventArgs e)

    这个事件发生在页面改要前。

     

    应该写在页面改变后的事件里。

    2010年7月4日 14:59
  • private void dataPager1_PageIndexChanging (object sender, System.ComponentModel.CancelEventArgs e)

    这个事件发生在页面改要前。

     

    应该写在页面改变后的事件里。


    private void dataPager1_PageIndexChanged(object sender, EventArgs e)这个事件我早试过了,结果一样,还是得到的是上页值
    2010年7月5日 1:23
  • 2010年7月7日 6:47