zoukankan      html  css  js  c++  java
  • DATAGRID分组 通用函数

    #region Formatdg
    private void FormatGrid( DataGrid dg,int t )
    {
    if(dg.Items.Count!=0)
    {
    int begin=0;//合并相同的客户名,begin是首列
    int end=0;//end是尾列
    string pre=dg.Items[0].Cells[t].Text;//标记,表示相同客户名的首列
    string cur;//下一个客户名
    for ( int i=0;i<dg.Items.Count;i++ )
    {
    cur=dg.Items[i].Cells[t].Text;
    if( cur!=pre )//如果前后两个客户名不同
    {
    end=i-1;
    pre=cur;//pre变成新出现的那个不同的客户名
    if( end>begin )
    {
    for( int j=begin+1;j<=end;j++ )//从begin到end,清除相同的客户名
    {
    dg.Items[begin].Cells[t].RowSpan=end-begin+1;
    dg.Items[j].Cells[t].Visible=false;
    //dg.Items[j].Cells.RemoveAt(0);
    }
    }
    else//客户名为最后一组的情况
    {
    end=dg.Items.Count;
    for( int j=begin+1;j<end;j++ )
    {
    dg.Items[begin].Cells[t].RowSpan=end-begin;
    dg.Items[j].Cells[t].Visible=false;
    //dg.Items[j].Cells.RemoveAt(0);
    }
    }
    begin=i;
    }
    else//只有一组相同客户名的情况
    {
    end=dg.Items.Count;
    if(i==dg.Items.Count-1)
    {
    for( int j=begin+1;j<end;j++ )
    {
    dg.Items[begin].Cells[t].RowSpan=end-begin;
    dg.Items[j].Cells[t].Visible=false;
    //dg.Items[j].Cells.RemoveAt(0);
    }
    }

    }

    }

    }

    }
    #endregion

  • 相关阅读:
    字符编码解码
    综合练习[购物车]
    for 循环实例
    数据类型
    字符串格式化输出
    集成开发环境
    while循环实例
    赋值运算符、逻辑运算符、表达式
    if,else语句猜最大值
    计算今天和今天的上一月的日期
  • 原文地址:https://www.cnblogs.com/Fooo/p/519582.html
Copyright © 2011-2022 走看看