GridView表头的使用

 以前从来没有使用过GridView的自定义表头功能,但是由于业务的需要,不得不自己做一个自定义的表头来实现所需要的效果,经过网上的搜索查资料,最后终于做了出来,其效果如下:

代码如下:

 protected void gvSchoolWorkLoad_RowCreated(object sender, GridViewRowEventArgs e)
    {
        if (e.Row.RowType == DataControlRowType.Header)
        {
            TableCellCollection tcHeader = e.Row.Cells;
           
            tcHeader.Clear();

            GridViewRow headRow = new GridViewRow(0, 0, DataControlRowType.Header, DataControlRowState.Normal);

            TableCell cellDepartment = new TableCell();
            cellDepartment.Style["Width"] = "150px";
            cellDepartment.RowSpan = 3;
            cellDepartment.Text = "学院";
            headRow.Cells.Add(cellDepartment);

            TableCell cellAchievement = new TableCell();
            cellAchievement.ColumnSpan = 25;
            cellAchievement.RowSpan = 1;
            cellAchievement.Text = "科研成果";
            headRow.Cells.Add(cellAchievement);

            TableCell cellTotalAmount = new TableCell();
            cellTotalAmount.RowSpan = 3;
            cellTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellTotalAmount);

            TableCell cellTotalWorkLoad = new TableCell();
            cellTotalWorkLoad.RowSpan = 3;
            cellTotalWorkLoad.Text = "总学时</th></tr><tr>";
            headRow.Cells.Add(cellTotalWorkLoad);

            TableCell cellThesis = new TableCell();
            cellThesis.Text = "论文";
            cellThesis.ColumnSpan = 2;
            headRow.Cells.Add(cellThesis);

            TableCell cellConference = new TableCell();
            cellConference.Text = "会议论文";
            cellConference.ColumnSpan = 2;
            headRow.Cells.Add(cellConference);

            TableCell cellBook = new TableCell();
            cellBook.Text = "著作";
            cellBook.ColumnSpan = 2;
            headRow.Cells.Add(cellBook);

            TableCell cellCountry = new TableCell();
            cellCountry.Text = "国家级";
            cellCountry.ColumnSpan = 2;
            headRow.Cells.Add(cellCountry);

            TableCell cellProvince = new TableCell();
            cellProvince.Text = "省级";
            cellProvince.ColumnSpan = 2;
            headRow.Cells.Add(cellProvince);

            TableCell cellCity = new TableCell();
            cellCity.Text = "厅级";
            cellCity.ColumnSpan = 2;
            headRow.Cells.Add(cellCity);

            TableCell cellGainPrize = new TableCell();
            cellGainPrize.Text = "获奖";
            cellGainPrize.ColumnSpan = 2;
            headRow.Cells.Add(cellGainPrize);

            TableCell cellStudent = new TableCell();
            cellStudent.Text = "指导学生";
            cellStudent.ColumnSpan = 1;
            headRow.Cells.Add(cellStudent);

            TableCell cellThesisSearch = new TableCell();
            cellThesisSearch.Text = "检索";
            cellThesisSearch.ColumnSpan = 2;
            headRow.Cells.Add(cellThesisSearch);

            TableCell cellGainPatent = new TableCell();
            cellGainPatent.Text = "专利";
            cellGainPatent.ColumnSpan = 2;
            headRow.Cells.Add(cellGainPatent);

            TableCell cellProjectAccept = new TableCell();
            cellProjectAccept.Text = "课题验收</th></tr></tr>";
            cellProjectAccept.ColumnSpan = 6;
            headRow.Cells.Add(cellProjectAccept);
           //论文的
            TableCell cellThesisTotalAmount = new TableCell();
            cellThesisTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellThesisTotalAmount);

            TableCell cellThesisWorkLoad = new TableCell();
            cellThesisWorkLoad.Text="总学时";
            headRow.Cells.Add(cellThesisWorkLoad);
            //会议论文的
            TableCell cellConferenceTotalAmount = new TableCell();
            cellConferenceTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellConferenceTotalAmount);

            TableCell cellConferenceWorkLoad = new TableCell();
            cellConferenceWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellConferenceWorkLoad);
            //著作的
            TableCell cellBookTotalAmount = new TableCell();
            cellBookTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellBookTotalAmount);

            TableCell cellBookWorkLoad = new TableCell();
            cellBookWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellBookWorkLoad);
            //国家级的
            TableCell cellCountryTotalAmount = new TableCell();
            cellCountryTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellCountryTotalAmount);

            TableCell cellCountryWorkLoad = new TableCell();
            cellCountryWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellCountryWorkLoad);
            //省级的
            TableCell cellProvinceTotalAmount = new TableCell();
            cellProvinceTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellProvinceTotalAmount);

            TableCell cellProvinceWorkLoad = new TableCell();
            cellProvinceWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellProvinceWorkLoad);
            //厅级的
            TableCell cellCityTotalAmount = new TableCell();
            cellCityTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellCityTotalAmount);

            TableCell cellCityWorkLoad = new TableCell();
            cellCityWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellCityWorkLoad);
            //获奖的
            TableCell cellGainPrizeTotalAmount = new TableCell();
            cellGainPrizeTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellGainPrizeTotalAmount);

            TableCell cellGainPrizeWorkLoad = new TableCell();
            cellGainPrizeWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellGainPrizeWorkLoad);
            //指导学生的
            TableCell cellStudentWorkLoad = new TableCell();
            cellStudentWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellStudentWorkLoad);
            //检索的
            TableCell cellThesisSearchTotalAmount = new TableCell();
            cellThesisSearchTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellThesisSearchTotalAmount);

            TableCell cellThesisSearchWorkLoad = new TableCell();
            cellThesisSearchWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellThesisSearchWorkLoad);
            //专利的
            TableCell cellGainPatentTotalAmount = new TableCell();
            cellGainPatentTotalAmount.Text = "总数量";
            headRow.Cells.Add(cellGainPatentTotalAmount);

            TableCell cellGainPatentWorkLoad = new TableCell();
            cellGainPatentWorkLoad.Text = "总学时";
            headRow.Cells.Add(cellGainPatentWorkLoad);
            //教改成果的
            TableCell cell = new TableCell();
            cell.Text = "教改总数量";
            headRow.Cells.Add(cell);

            TableCell cell0 = new TableCell();
            cell0.Text = "教改总学时";
            headRow.Cells.Add(cell0);
            //理工类的
            TableCell cellScinceTotalAmount = new TableCell();
            cellScinceTotalAmount.Text = "理工类总数量";
            headRow.Cells.Add(cellScinceTotalAmount);

            TableCell cellScinceWorkLoad = new TableCell();
            cellScinceWorkLoad.Text = "理工类总学时";
            headRow.Cells.Add(cellScinceWorkLoad);
            //人文类的
            TableCell cellArtsTotalAmount = new TableCell();
            cellArtsTotalAmount.Text = "人文类总数量";
            headRow.Cells.Add(cellArtsTotalAmount);

            TableCell cellArtsWorkLoad = new TableCell();
            cellArtsWorkLoad.Text = "人文类总学时";
            headRow.Cells.Add(cellArtsWorkLoad);


            gvSchoolWorkLoad.Controls[0].Controls.AddAt(0, headRow);
        }
    }

其实比较简单的,但是我尝试了好几种方法,最终做出这种效果。

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值