private void BindList(V_SchedulingSchClass condObj) { List <V_SchedulingSchClass> vssList = BLLTable <V_SchedulingSchClass> .Factory(conn).Select(new V_SchedulingSchClass(), condObj); DataTable data = GetWorkViewHeadTable(); repHead.DataSource = data.Columns; repHead.DataBind(); Dictionary <string, DataRow> dic = new Dictionary <string, DataRow>(); Dictionary <string, int> rigDic = new Dictionary <string, int>(); data = GetWorkViewBodyTable(); DateTime nowDt = DateTime.Now; foreach (V_SchedulingSchClass vs in vssList) { string date = vs._SchYear + "-" + vs._SchMonth.ToString().PadLeft(2, '0') + "-" + vs._SchDay.ToString().PadLeft(2, '0'); if (!dic.ContainsKey(date)) { dic.Add(date, data.NewRow()); } if (!rigDic.ContainsKey(date)) { rigDic.Add(date, 0); } DateTime curDate = new DateTime(vs._SchYear, vs._SchMonth, vs._SchDay); dic[date][0] = vs.STAFF_ID + spl; dic[date][1] = vs.STAFF_NAME + spl; dic[date][2] = date + spl + (curDate == new DateTime(nowDt.Year, nowDt.Month, nowDt.Day) ? "style='background-color:#eeeeaa;'" : ""); dic[date][3] = CheckInOutHelper.ChineseByEnWeek(curDate) + spl + " style='text-align:center;text-indent:0px;'"; dic[date][4] = dll_Type.Items[vs._SchType].Text + spl; DateTime otime = new DateTime(nowDt.Year, nowDt.Month, nowDt.Day, 0, 0, 0); DateTime stime = new DateTime(nowDt.Year, nowDt.Month, nowDt.Day, vs.StartHour, vs.StartMin, 0); DateTime etime = new DateTime(nowDt.Year, nowDt.Month, nowDt.Day, vs.EndHour, vs.EndMin, 0); int left = ((int)((stime - otime).TotalMinutes / 2.00 + 0.5)); int wid = ((int)((etime - stime).TotalMinutes / 2.00 + 0.5)) - 1; left = left - rigDic[date]; rigDic[date] = ((int)((stime - otime).TotalMinutes / 2 + 0.5)) + wid + 3; string sty = "style='float:left;clear:right;display:inline-block;margin-left:" + left + "px; width:" + wid + "px;height:20px; background-color:" + vs.Color + "'"; string tit = "tag='"; tit += "班次名称:" + vs.SchName + "<br />"; tit += "时段:" + vs.StartHour + ":" + vs.StartMin + "-" + vs.EndHour + ":" + vs.EndMin + "<br />"; tit += "计算量值:" + vs.SchNumber + "<br />"; tit += "量值单位:" + formhelper.GetOptionText(HR_SchClass.Attribute.SchUnit, vs.SchUnit) + "<br />"; tit += "是否计算为加班:" + (vs.IsOverTime ? "是" : "否") + "<br />"; tit += "签到时间:" + (!vs.CheckIn?"不签到":(vs.CheckInHour1 + ":" + vs.CheckInMin1 + "-" + vs.CheckInHour2 + ":" + vs.CheckInMin2)) + "<br />"; tit += "签退时间:" + (!vs.CheckOut ? "不签退" : (vs.CheckOutHour1 + ":" + vs.CheckOutMin1 + "-" + vs.CheckOutHour2 + ":" + vs.CheckOutMin2)) + "<br />"; tit += "计迟到/早退分钟数:" + vs.LateMinutes + "/" + vs.EarlyMinutes + "<br />"; tit += "'"; string a = "<a " + tit + " " + sty + " onmousemove='showatooltip(\"tableatooltip\",this)' onmouseout='hideatooltip(\"tableatooltip\")'></a>"; dic[date][5] += a; } foreach (string vs in dic.Keys) { dic[vs][5] += spl + " colspan='24' style='text-indent:0px;' "; data.Rows.Add(dic[vs]); } repList.DataSource = data.Rows; repList.DataBind(); }
public void BindHerd(DataColumnCollection dcc) { if (dcc == null || dcc.Count < 1) { return; } int index = 0; string header1 = ""; string header2 = ""; string width = ""; string resizelist = ""; string align = ""; foreach (DataColumn dc in dcc) { if (index < 7) { switch (index) { case 0: header1 += ","; width += "40,"; break; case 1: header1 += "#cspan,"; width += "60,"; break; case 2: header1 += "#cspan,"; width += "80,"; break; case 3: header1 += "#cspan,"; width += "80,"; break; case 4: header1 += "#cspan,"; width += "120,"; break; case 5: header1 += "#cspan,"; width += "65,"; break; case 6: header1 += "<div style='float:right; padding-right:5px;'>日期</div>,"; width += "65,"; break; default: break; } resizelist += "true,"; header2 += "<div class='hdrcell' style='padding-left:5px;'>" + (string.IsNullOrEmpty(dc.ColumnName.TrimEnd(' ')) ? "-" : dc.ColumnName) + "</div>,"; align += "left,"; index++; continue; } DateTime dt = DateTime.MinValue; if (DateTime.TryParse(dc.ColumnName, out dt) && dt != DateTime.MinValue) { header1 += "<div style='margin-left:-7px;'>" + dt.Day.ToString().PadLeft(2, '0') + "</div>,"; header2 += "<div class='hdrcell' style='padding-left:5px;'>" + CheckInOutHelper.ChineseByEnWeek(dt) + "</div>,"; width += "27,"; resizelist += "false,"; align += "left,"; } else { if (!m_startAddKqqk) { header1 += "<div style='margin-left:-7px;'>出勤情况</div>,"; header2 += "<div class='hdrcell' style='padding-left:5px;'>" + (string.IsNullOrEmpty(dc.ColumnName.TrimEnd(' ')) ? "-" : dc.ColumnName) + "</div>,"; width += (dc.ColumnName.Length * 12 + 15) + ","; m_startAddKqqk = true; resizelist += "true,"; align += "left,"; } else { header1 += "#cspan,"; header2 += "<div class='hdrcell' style='padding-left:5px;'>" + (string.IsNullOrEmpty(dc.ColumnName.TrimEnd(' ')) ? "-" : dc.ColumnName) + "</div>,"; width += (dc.ColumnName.Length * 12 + 15) + ","; resizelist += "true,"; align += "left,"; } } index++; } m_header1 = "\"" + header1.TrimEnd(',') + "\""; m_header2 = "\"" + header2.TrimEnd(',') + "\""; m_width = "\"" + width.TrimEnd(',') + "\""; m_resizelist = "\"" + resizelist.TrimEnd(',') + "\""; m_align = "\"" + align.TrimEnd(',') + "\""; }
public string BindHerd(RepeaterItem Container) { string td = ""; if (Container == null) { return(td); } DataColumn dc = Container.DataItem as DataColumn; if (dc == null) { return(td); } string sty = ""; string tit = dc.ColumnName; DateTime dt = DateTime.MinValue; m_HeadTdIndex++; if (tit == "序号") { m_HeadTdLeft = 5; sty = "style='width:40px;height:45px;position:relative;'"; td += "<td id='xuhao' class='headtit' " + sty + ">" + "\n"; td += " 序号" + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 40; } else if (tit == "姓名") { sty = "style='width:80px;height:45px;position:relative;'"; td += "<td id='drawXiexian' class='headtit' " + sty + ">" + "\n"; td += " <table>" + "\n";//style='background-image:url(Uploadify/xiexian.gif)' td += " <tr>" + "\n"; td += " <td style='text-align:right;border: 0px none #000;'>日期</td>" + "\n"; td += " </tr>" + "\n"; td += " <tr>" + "\n"; td += " <td style='text-align:left;border: 0px none #000;'>姓名</td>" + "\n"; td += " </tr>" + "\n"; td += " </table>" + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 80; } else if (tit == "全勤") { sty = "style='width:40px;height:45px;position:relative;'"; td += "<td class='headtit' " + sty + ">" + "\n"; td += " " + tit + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 40; } else if (tit == "实际出勤") { sty = "style='width:40px;height:45px;position:relative;'"; td += "<td class='headtit' " + sty + ">" + "\n"; td += " <table>" + "\n"; td += " <tr>" + "\n"; td += " <td style='border: 0px none #000;'>实际</td>" + "\n"; td += " </tr>" + "\n"; td += " <tr>" + "\n"; td += " <td style='border: 0px none #000;'>出勤</td>" + "\n"; td += " </tr>" + "\n"; td += " </table>" + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 40; } else if (DateTime.TryParse(tit, out dt)) { sty = "style='text-align:left;width:25px; min-width:25px;max-width:25px;position:relative;'"; td += "<td class='headtit' " + sty + ">" + "\n"; td += " <table>" + "\n"; td += " <tr>" + "\n"; td += " <td style='border: 0px none #000;border-bottom:1px solid #aad;'>" + dt.Day.ToString().PadLeft(2, '0') + "</td>" + "\n"; td += " </tr>" + "\n"; td += " <tr>" + "\n"; td += " <td style='border: 0px none #000;'>" + CheckInOutHelper.ChineseByEnWeek(dt) + "</td>" + "\n"; td += " </tr>" + "\n"; td += " </table>" + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 25; } else if (!m_HeadTdDayShowOver) { m_HeadTdColspan = m_HeadTdCount - m_HeadTdIndex + 1; sty = "style='width:" + (38 * 15 + 14) + "px;position:relative;'"; td += "<td class='headtit' " + sty + ">" + "\n"; td += "<table>" + "\n"; td += "<tr>" + "\n"; td += " <td colspan=\"" + m_HeadTdColspan + "\" style='border: 0px none #000;border-bottom:1px solid #aad; text-align:left;'>出勤情况<td>" + "\n"; td += "</tr>" + "\n"; td += "<tr>"; sty = "style='width:" + (tit.Length * 15 + 5) + "px; border: 0px none #000;border-right: 1px solid #aad;'"; td += "<td " + sty + ">" + "\n"; td += " " + tit + "\n"; td += "</td>" + "\n"; m_HeadTdLeft += 38 * 15 + 14; m_HeadTdDayShowOver = true; } else if (m_HeadTdIndex == m_HeadTdCount) { sty = "style='width:" + (tit.Length * 15 + 5) + "px;border: 0px none #000;border-right: 1px solid #aad;'"; td += "<td " + sty + ">" + "\n"; td += " " + tit + "\n"; td += "</td>" + "\n"; td += "</tr>" + "\n"; td += "</table>" + "\n"; td += "</td>" + "\n"; } else { sty = "style='width:" + (tit.Length * 15 + 5) + "px;border: 0px none #000;border-right: 1px solid #aad;'"; td += "<td " + sty + ">" + "\n"; td += " " + tit + "\n"; td += "</td>" + "\n"; } return(td); }