zoukankan      html  css  js  c++  java
  • gridview自动求和及合并多列多行单元格

    自动求和代码如下:

    protected void GridView1_RowDataBound(object sender, GridViewRowEventArgs e)
        {
            if (e.Row.RowIndex >= 0)
            {
                sum += Convert.ToInt32(e.Row.Cells[4].Text);
            }
            else if (e.Row.RowType == DataControlRowType.Footer)
            {
                e.Row.Cells[1].Text = "总分为:";
                e.Row.Cells[2].Text = sum.ToString();
                e.Row.Cells[3].Text = "平均分:";
                e.Row.Cells[4].Text = ((int)(sum / GridView1.Rows.Count)).ToString();
            }
        }

    合并相同的单元格:

    /// <summary>
        /// 判断gridview控件的相邻单元格中的数据是否相同,如果相同,则合并单元格
        /// </summary>
        private void gvRender()
        {
            if (GridView1.Rows.Count <= 1)
            {
                return;
            }

            for (int i = 0; i < GridView1.Columns.Count; i++)
            {
                TableCell tc = GridView1.Rows[0].Cells[i];
                for (int j = 1; j < GridView1.Rows.Count; j++)
                {
                    TableCell newtc = GridView1.Rows[j].Cells[i];
                    if (newtc.Text == tc.Text)      //判断当前列相邻的单元格的内容是否相同
                    {
                        newtc.Visible = false;      //如果相同则隐藏其中一个单元格
                        if (tc.RowSpan == 0)       
                        {
                            tc.RowSpan = 1;
                        }
                        tc.RowSpan++;
                        tc.VerticalAlign = VerticalAlign.Middle;
                    }
                }
            }
        }

    记得将ShowFooter设置为true哦;

  • 相关阅读:
    nginx+keepalived实现高可用
    zookeeper集群和安装dubbo的管控台
    常见设计模式的解析和实现(C++)
    sed的工作原理(pattern space 和 hold space)
    sed学习笔记
    C++协助破案问题
    C++中extern “C”含义深层探索
    阿里巴巴笔试第28题
    阿里巴巴集团2014校园招聘笔试题(研发工程师--北邮站)
    淘宝数据魔方技术架构解析
  • 原文地址:https://www.cnblogs.com/xlhblogs/p/2307142.html
Copyright © 2011-2022 走看看