三行表头的gridview

来源:互联网 发布:linux gedit怎么用 编辑:程序博客网 时间:2024/04/28 22:21

1.

 protected void GridView1_RowCreated1(object sender, GridViewRowEventArgs e)
        {
            switch (e.Row.RowType)
            {
                case DataControlRowType.Header:
                    //第一行表头
                    TableCellCollection tcHeader = e.Row.Cells;
                    tcHeader.Clear();
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[0].Attributes.Add("rowspan", "3"); //跨Row
                    tcHeader[0].Attributes.Add("bgcolor", "white");
                    tcHeader[0].Text = "111";
                    tcHeader.Add(new TableHeaderCell());
                    //tcHeader[1].Attributes.Add("bgcolor", "Red");
                    tcHeader[1].Attributes.Add("colspan", "6"); //跨Column
                    tcHeader[1].Text = "全部信息 </th> </tr> <tr>";

                    //第二行表头
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[2].Attributes.Add("bgcolor", "DarkSeaGreen");
                    tcHeader[2].Attributes.Add("rowspan", "2");
                    tcHeader[2].Text = "身份证号码";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[3].Attributes.Add("bgcolor", "LightSteelBlue");
                    tcHeader[3].Attributes.Add("colspan", "2");
                    tcHeader[3].Text = "基本信息";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[4].Attributes.Add("bgcolor", "DarkSeaGreen");
                    tcHeader[4].Text = "福利";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[5].Attributes.Add("bgcolor", "LightSteelBlue");
                    tcHeader[5].Attributes.Add("colspan", "2");
                    tcHeader[5].Text = "联系方式 </th> </tr> <tr>";

                    //第三行表头
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[6].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[6].Text = "身份证号码";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[7].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[7].Text = "姓名";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[8].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[8].Text = "出生日期";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[9].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[9].Text = "薪水";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[10].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[10].Text = "家庭住址";
                    tcHeader.Add(new TableHeaderCell());
                    tcHeader[11].Attributes.Add("bgcolor", "Khaki");
                    tcHeader[11].Text = "邮政编码";
                    break;
            }
        } 
   2.

 

public DataTable getTable(string sql)
        {
            DataTable dt=new DataTable ();
            OleDbConnection cn = new OleDbConnection(connectionString);
            cn.Open();
            OleDbDataAdapter ada = new OleDbDataAdapter(sql, connectionString);
            ada.Fill(dt);
            cn.Close();
            return dt;
        }
         protected void GridView1_RowCreated(object sender, GridViewRowEventArgs e)

         {

             string sql = @"select b.materialname,b.matname, a.name equipname from ( select t.materialname ,m.name matname,t.equipname from materialproductdgconfig t left join   mat m on m.id=t.materialname)b left join area a on a.id=b.equipname order by b.matname";
            DataTable dt = new DataTable();
            dt = getTable(sql);
            sql = @"select matname ,count(matname)from (select t.materialname ,m.name matname from materialproductdgconfig t left join   mat m on m.id=t.materialname) group by matname order by matname";
            DataTable dtcount = new DataTable();
            dtcount=getTable (sql);
           
                switch (e.Row.RowType)
                {
                    case DataControlRowType.Header:

                        //第一行表头
                        TableCellCollection tcHeader = e.Row.Cells;
                        tcHeader.Clear();
                        int i = 0;
                        for (; i < dtcount.Rows.Count; i++)
                        {
                            tcHeader.Add(new TableHeaderCell());
                            tcHeader[i].Attributes.Add("bgcolor", "red");
                            tcHeader[i].Text = dtcount.Rows[i][0].ToString();
                            tcHeader[i].Attributes.Add("colspan", (Convert.ToInt32(dtcount.Rows[i][1].ToString())*3).ToString()); //跨Column
                        }
                        tcHeader[i - 1].Text = tcHeader[i - 1].Text+ "</th> </tr> <tr><tr>";

                        ////第二行表头
                        for (; i < dtcount.Rows.Count + dt.Rows.Count; i++)
                        {
                            tcHeader.Add(new TableHeaderCell());
                            tcHeader[i].Attributes.Add("bgcolor", "blue");
                            tcHeader[i].Text = dt.Rows[i - dtcount.Rows.Count][2].ToString();
                            tcHeader[i].Attributes.Add("colspan", "3");
                        }
                        tcHeader[i - 1].Text = tcHeader[i - 1].Text+ "</th> </tr> <tr><tr>";

                        ////第三行表头
                        int    j = 3;
                        for (; i < dtcount.Rows.Count + dt.Rows.Count*4; i++)
                        {
                           
                         
                            tcHeader.Add(new TableHeaderCell());
                            tcHeader[i].Attributes.Add("bgcolor", "orange");
                            switch (j%3)
                            {
                                case 0:
                                    tcHeader[i].Text = "状态";
                                    break;
                                case 1:
                                    tcHeader[i].Text = "质量";
                                    break;
                                case 2:
                                    tcHeader[i].Text = "动态备注";
                                    break;

                            }
                            j++;
                           
                        }
                      
                        break;
                }

原创粉丝点击