protected void btSearch2_Click(object sender, EventArgs e) { string depid = ddlDepart.SelectedValue.ToString(); string roomid = ddlRoom.SelectedValue.ToString(); string classname = tbClass.Text; string roomname = ddlRoom.SelectedItem.Text.TrimEnd(); int week1 = Convert.ToInt16(ddlWeek1.SelectedValue); int week2 = Convert.ToInt16(ddlWeek2.SelectedValue); string sqlStr = "select RTRIM(t.currentFlag) as currentFlag ,dp.strDepart ,aaa.* from(select aa.*,w.datePeriod,w.intWeek as wWeek ,w.yearID as wYear,d.strRoomName,d.depid from (select l.applyid,a.id,RTRIM(l.strName) as strName,RTRIM(a.strClass) as strClass,RTRIM(a.strTeacher) as strTeacher,a.strRemark ,l.yearID, a.roomid, a.intDay, a.intStartNum, a.intEndNum, a.strWeekReg, a.strWeekData, s.intweek from ApplyList l inner join RoomApply a on l.applyid = a.applyid inner join RoomApplySub s on a.id = s.F_id where a.strClass like '%" + classname + "%' and s.intWeek >= " + week1 + " and s.intWeek <= " + week2 + " ) as aa right join WeekStartEnd w on w.yearID = aa.yearID right join RoomDetail d on d.roomid = aa.roomid where aa.strClass like '%" + classname + "%' and w.intWeek = aa.intWeek and d.roomid = aa.roomid) as aaa left join TitleStartEnd t on aaa.wYear = t.yearID inner join Department dp on aaa.depid = dp.depid where t.currentFlag = 'true'"; string printStr = "RNT"; Label lbTitle = new Label(); lbTitle.ID = classname + "Title"; lbTitle.Text = classname; GridViewPlaceHolder.Controls.Add(lbTitle); for (int i = week1; i <= week2; i++) { string titleStr = "select distinct w.datePeriod,w.intWeek from WeekStartEnd w,TitleStartEnd t where w.yearID = t.yearID and t.currentFlag = 'true' and w.intWeek = " + i; DataTable titleDT = CommonClass.getDataTable(titleStr); Label lbWeek = new Label(); lbWeek.ID = "week" + i; lbWeek.Text = "第" + i + "周 " + titleDT.Rows[0]["datePeriod"].ToString(); GridViewPlaceHolder.Controls.Add(lbWeek); DataTable dt = PrintTabClass.PrintTab_Week_DT(i, sqlStr, printStr); GridView gvTemp = new GridView(); gvTemp.ID = "gv" + i; gvTemp.HorizontalAlign = HorizontalAlign.Center; gvTemp = PrintTabClass.DynamicGenerateColumns(gvTemp, dt); gvTemp.DataSource = dt; gvTemp.DataBind(); //合并单元格 for (int j = 1; j < gvTemp.Columns.Count; j++) { CommonClass.GroupRows(gvTemp, j); } GridViewPlaceHolder.Controls.Add(gvTemp); HtmlGenericControl spanTemp = new HtmlGenericControl("div"); //创建一个span标签 spanTemp.ID = "div" + i; spanTemp.Style.Add("page-break-before", "always"); //属性 GridViewPlaceHolder.Controls.Add(spanTemp); //添加到页面 } }
private void DataBindRepeater() { int prtWeekNum = Convert.ToInt16(ddlWeek.SelectedValue); string prtDep = ddlDep.SelectedValue; string prtsql = "select aaa.*,t.currentFlag,RTRIM(de.strDepart) as strDepart from (select aa.*,RTRIM(d.strRoomName) as strRoomName,d.depid from (select distinct s.intWeek, a.roomid,a.intDay,a.intStartNum,a.intEndNum,l.yearID,RTRIM(l.strName) as strName,RTRIM(a.strClass) as strClass,RTRIM(a.strTeacher) as strTeacher from RoomApply a inner join ApplyList l on a.applyid = l.applyid inner join RoomApplySub s on a.id = s.F_id) as aa inner join RoomDetail d on aa.roomid = d.roomid where aa.intWeek = "+ prtWeekNum + " and d.depid = '" + prtDep + "') as aaa inner join TitleStartEnd t on aaa.yearID = t.yearID and t.currentFlag = 'true'inner join Department de on aaa.depid = de.depid"; this.Repeater1.DataSource = PrintTabClass.PrintTab_SUM_DT(prtsql); this.Repeater1.DataBind(); for (int i = 1; i <= 7; i++) // 遍历每一列 { string tdTd = "td"; string tdIdName = tdTd + i.ToString(); MergeCell(tdIdName); // 把当前列的td的ID文本作为方法的参数 } }