• DataGrid行单元格合并显示 (增加交错行颜色设置)


    //绑定数据集
            public void BindGrid()
            
    {
                DataSet ds 
    = new DataSet();
                sqlDataAdapter2.Fill(ds);
                DataGrid2.DataSource 
    = ds.Tables[0];
                DataGrid2.DataBind();
                
    //合并相同的单元格
                string strTemp;
                
    int intSpan = 0;
                
    int nowSpan = 0;
                
    bool flag = false;
                
    int i, j;
                
    for(i = 0; i < DataGrid2.Items.Count; i++)
                
    {
                    intSpan 
    = 1;
                    strTemp 
    = DataGrid2.Items[i].Cells[0].Text;

                    
    if (flag == true)
                    
    {
                        flag 
    = false;
                        DataGrid2.Items[i].BackColor 
    = Color.SkyBlue;
                        
    for(j = i + 1; j< DataGrid2.Items.Count; j++)
                        
    {
                            
    if(String.Compare(strTemp,DataGrid2.Items[j].Cells[0].Text)==0)
                            
    {
                                intSpan 
    = intSpan + 1;
                                DataGrid2.Items[i].Cells[
    0].RowSpan = intSpan;
                                
    //DataGrid2.Items[i].Cells[1].RowSpan = intSpan;
                                
    //DataGrid2.Items[i].Cells[2].RowSpan = intSpan;
                                DataGrid2.Items[i].Cells[3].RowSpan = intSpan;

                                DataGrid2.Items[j].BackColor 
    = Color.SkyBlue;

                                DataGrid2.Items[j].Cells[
    0].Visible = false;
                                
    //DataGrid2.Items[j].Cells[1].Visible = false;
                                
    //DataGrid2.Items[j].Cells[2].Visible = false;
                                DataGrid2.Items[j].Cells[3].Visible = false;

                            }

                        }

                    }

                    
    else
                    
    {
                        DataGrid2.Items[i].BackColor 
    = Color.White;
                        flag 
    = true;
                        
    for(j = i + 1; j< DataGrid2.Items.Count; j++)
                        
    {
                            
    if(String.Compare(strTemp,DataGrid2.Items[j].Cells[0].Text)==0)
                            
    {
                                intSpan 
    = intSpan + 1;
                                DataGrid2.Items[i].Cells[
    0].RowSpan = intSpan;
                                
    //DataGrid2.Items[i].Cells[1].RowSpan = intSpan;
                                
    //DataGrid2.Items[i].Cells[2].RowSpan = intSpan;
                                DataGrid2.Items[i].Cells[3].RowSpan = intSpan;

                                DataGrid2.Items[j].BackColor 
    = Color.White;

                                DataGrid2.Items[j].Cells[
    0].Visible = false;
                                
    //DataGrid2.Items[j].Cells[1].Visible = false;
                                
    //DataGrid2.Items[j].Cells[2].Visible = false;
                                DataGrid2.Items[j].Cells[3].Visible = false;

                            }

                        }

                    }

                    
                    nowSpan 
    += intSpan;
                    i 
    = nowSpan - 1;

                }


            }
  • 相关阅读:
    4.22 每日一题题解
    4.21 每日一题题解
    4.20 每日一题题解
    【HDU2825】Wireless Password【AC自动机,状态压缩DP】
    【POJ2778】DNA Sequence 【AC自动机,dp,矩阵快速幂】
    【ZOJ 3228】Searching the String 【AC自动机】
    【LA5135 训练指南】井下矿工 【双连通分量】
    【LA3523 训练指南】圆桌骑士 【双连通分量】
    【LA3713 训练指南】宇航员分组 【2-sat】
    【LA3211 训练指南】飞机调度 【2-sat】
  • 原文地址:https://www.cnblogs.com/adam/p/1023368.html
Copyright © 2020-2023  润新知