You can not select more than 25 topics
Topics must start with a letter or number, can include dashes ('-') and can be up to 35 characters long.
|
|
using System; using System.Collections.Generic; using System.Linq; using System.Web; using System.Data; using System.Web.UI.WebControls; using System.ComponentModel; using System.Data.SqlClient; using System.Text; using System.Drawing;
namespace OT.Controls { public class OrderCalendar : Calendar { DataSet dsOrderList;// = new Infrasys.BLL.OP_OrderDetail().GetOrderListForCarlendarByOrderDateStarAndEnd(strOrderDateStar, strOrderDateEnd);
DataSet dsGoodDays;// = new Infrasys.BLL.MAG_GoodDay().GetList();
protected override void OnLoad(EventArgs e) { base.OnLoad(e); }
private int _MaxLen = 8;
public int MaxLen { set { _MaxLen = value; } get { return _MaxLen; } }
protected override void OnDayRender(TableCell cell, CalendarDay day) { string strOrderDateStar = day.Date.AddDays(1 - day.Date.Day).ToString("yyyy/MM/dd"); if (day.Date.Day > 10) { strOrderDateStar = day.Date.AddDays(1 - day.Date.Day).AddMonths(1).ToString("yyyy/MM/dd"); } string strOrderDateEnd = day.Date.AddDays(1 - day.Date.Day).AddMonths(1).AddDays(-1).ToString("yyyy/MM/dd");
if (day.Date.Day > 10) { strOrderDateEnd = day.Date.AddDays(1 - day.Date.Day).AddMonths(2).AddDays(-1).ToString("yyyy/MM/dd"); } if (dsOrderList == null) { // dsOrderList = new OT.BLL.TB_AVA_OP_OrderHeader().GetOrderCarlendarDataByStartAndEndDate(strOrderDateStar, strOrderDateEnd);
} if (dsGoodDays == null) { // dsGoodDays = new OT.BLL.TB_AVA_MAG_GoodDay().GetAllList();
}
//總表格
Table otbAll = new Table(); otbAll.Attributes.Add("height", "100%"); otbAll.Attributes.Add("width", "100%"); otbAll.BorderStyle = System.Web.UI.WebControls.BorderStyle.None; otbAll.BorderWidth = 1; otbAll.BorderColor = Color.Black; otbAll.BackColor = Color.White; //ColorTranslator.FromHtml("#C2D5FC");
otbAll.CellPadding = 0; otbAll.CellSpacing = 0;
//border="1" cellpadding="0" cellspacing="0" bordercolor="#FF9966"
//日期行
TableRow trHeader = new TableRow(); trHeader.BackColor = ColorTranslator.FromHtml("#EBEFF4"); //每行日期的顏色
trHeader.BorderColor = ColorTranslator.FromHtml("#C2D5FC"); trHeader.Height = 10;
//日期行-日期
TableCell otdDay = new TableCell(); Label lblDay = new Label(); lblDay.Text = day.Date.Day.ToString().PadLeft(2, '0'); if (day.IsWeekend) { lblDay.ForeColor = System.Drawing.Color.Red; } otdDay.Controls.Add(lblDay); otdDay.HorizontalAlign = HorizontalAlign.Left; otdDay.BorderColor = ColorTranslator.FromHtml("#CEFFFF"); otdDay.Font.Bold = true; trHeader.Controls.Add(otdDay); //日期行-吉日名稱
TableCell otdGoodDay = new TableCell(); otdGoodDay.HorizontalAlign = HorizontalAlign.Center; otdGoodDay.Attributes.Add("width", "100%"); otdGoodDay.BorderColor = ColorTranslator.FromHtml("#CEFFFF"); trHeader.Controls.Add(otdGoodDay);
if (dsGoodDays != null && dsGoodDays.Tables.Count > 0 && dsGoodDays.Tables[0].Rows.Count > 0) { foreach (DataRow dr in dsGoodDays.Tables[0].Rows) { if (dr["Memo"].ToString().IndexOf(day.Date.ToString("yyyy/MM/dd")) > -1) { Label lblGoodDayName = new Label(); lblGoodDayName.Text = dr["GoodDayValue"].ToString(); lblGoodDayName.BackColor = ColorTranslator.FromHtml(dr["Color"].ToString()); lblGoodDayName.Font.Bold = true; otdGoodDay.Controls.Add(lblGoodDayName); } } }
Table tbHeader = new Table(); tbHeader.CellPadding = 0; tbHeader.CellSpacing = 0; tbHeader.Attributes.Add("width", "100%"); tbHeader.Controls.Add(trHeader);
TableRow otrHeader = new TableRow(); TableCell otdHeader = new TableCell(); otdHeader.VerticalAlign = VerticalAlign.Top; otdHeader.Controls.Add(tbHeader); otrHeader.Controls.Add(otdHeader); otbAll.Controls.Add(otrHeader);
//資料行
TableRow trData = new TableRow(); //訂席日期
TableCell otdData = new TableCell(); //otdData.Height = 120;
otdData.Attributes.Add("height", "100%"); otdData.Attributes.Add("width", "100%"); otdData.VerticalAlign = VerticalAlign.Top; if (dsOrderList != null && dsOrderList.Tables.Count > 0 && dsOrderList.Tables[0].Rows.Count > 0) { DataRow[] aryDataRow = dsOrderList.Tables[0].Select(" Date = '" + day.Date.ToString("yyyy/MM/dd") + "' ");
if (aryDataRow.Length == 0) { otdData.BackColor = Color.White; Table tbEmptyOrderInfo = new Table(); tbEmptyOrderInfo.Attributes.Add("width", "100%"); tbEmptyOrderInfo.Attributes.Add("height", "100%"); //tbEmptyOrderInfo.Height = 120;
tbEmptyOrderInfo.BorderColor = Color.White; tbEmptyOrderInfo.BorderStyle = System.Web.UI.WebControls.BorderStyle.None; tbEmptyOrderInfo.CellPadding = 0; tbEmptyOrderInfo.CellSpacing = 0; tbEmptyOrderInfo.BackColor = Color.White; TableRow trEmptyOrderInfo = new TableRow(); TableCell tdEmptyOrderInfo = new TableCell(); tdEmptyOrderInfo.Height = 100; tdEmptyOrderInfo.Attributes.Add("height", "100%"); trEmptyOrderInfo.Controls.Add(tdEmptyOrderInfo); tbEmptyOrderInfo.Controls.Add(trEmptyOrderInfo); otdData.Controls.Add(tbEmptyOrderInfo); }
foreach (DataRow dr in aryDataRow) { Table tbData = new Table(); tbData.Attributes.Add("width", "100%"); tbData.BorderStyle = System.Web.UI.WebControls.BorderStyle.None; tbData.CellPadding = 0; tbData.CellSpacing = 0;
TableRow trOrderDateSE = new TableRow(); TableRow trOrderData = new TableRow();
//訂席開始結束
TableCell tdOrderDateSE = new TableCell(); Label lblOrderDateSE = new Label(); lblOrderDateSE.Text = dr["Date"].ToString(); lblOrderDateSE.CssClass = "CarlendarDate"; tdOrderDateSE.Controls.Add(lblOrderDateSE); //tdOrderDateSE.ColumnSpan = 3;
tdOrderDateSE.HorizontalAlign = HorizontalAlign.Left; trOrderDateSE.Controls.Add(tdOrderDateSE);
//資料
//顏色塊 Start
//TableCell tdOrderColor = new TableCell();
//Label lblOrderStatusColor = new Label();
//lblOrderStatusColor.Text = " ";
//lblOrderStatusColor.Width = 10;
//lblOrderStatusColor.Height = 16;
//lblOrderStatusColor.BackColor = ColorTranslator.FromHtml("#F0E68C");
//tdOrderColor.HorizontalAlign = HorizontalAlign.Left;
//tdOrderColor.Controls.Add(lblOrderStatusColor);
//trOrderData.Controls.Add(tdOrderColor);
//顏色塊 End
//圖片塊 Start
//TableCell tdOrderBook = new TableCell();
//System.Web.UI.WebControls.HyperLink hlBook = new System.Web.UI.WebControls.HyperLink();
//hlBook.ImageUrl = "~/App_Themes/Default/Images/book.jpg";
//hlBook.NavigateUrl = "~/Pages/OP/ManageOrderRealValue_Add.aspx?OrderID=" + dr["OrderID"].ToString();
//tdOrderBook.Controls.Add(hlBook);
//tdOrderBook.HorizontalAlign = HorizontalAlign.Left;
//trOrderData.Controls.Add(tdOrderBook);
//圖片塊 End
//內容塊 Start
TableCell tdOrderInfo = new TableCell(); HyperLink hlOrderInfo = new HyperLink(); string strOrderInfo = string.Format("[{0}]{1}", dr["PRENAME"].ToString(), dr["NAME"].ToString()); hlOrderInfo.Text = strOrderInfo.Length <= MaxLen ? strOrderInfo : strOrderInfo.Substring(0, MaxLen) + "..."; hlOrderInfo.ToolTip = strOrderInfo; if (dr["URL"] != null && !dr["URL"].ToString().Equals("")) { hlOrderInfo.NavigateUrl = dr["URL"].ToString(); } tdOrderInfo.CssClass = "CarlendarA"; tdOrderInfo.Controls.Add(hlOrderInfo); tdOrderInfo.HorizontalAlign = HorizontalAlign.Left; trOrderData.Controls.Add(tdOrderInfo); //內容塊 End
tbData.Controls.Add(trOrderDateSE); tbData.Controls.Add(trOrderData);
otdData.Controls.Add(tbData); //otdData.BackColor = ColorTranslator.FromHtml("#FFFFCE");
//cell.BackColor = ColorTranslator.FromHtml("#FFFFCE");
} } else { otdData.BackColor = Color.White; Table tbEmptyOrderInfo = new Table(); tbEmptyOrderInfo.Attributes.Add("width", "100%"); //tbEmptyOrderInfo.Height = 120;
tbEmptyOrderInfo.Attributes.Add("height", "100%"); tbEmptyOrderInfo.BorderColor = Color.White; tbEmptyOrderInfo.BorderStyle = System.Web.UI.WebControls.BorderStyle.None; tbEmptyOrderInfo.CellPadding = 0; tbEmptyOrderInfo.CellSpacing = 0; tbEmptyOrderInfo.BackColor = Color.White; TableRow trEmptyOrderInfo = new TableRow(); TableCell tdEmptyOrderInfo = new TableCell(); //tdEmptyOrderInfo.Height = 100;
tdEmptyOrderInfo.Attributes.Add("height", "100%"); trEmptyOrderInfo.Controls.Add(tdEmptyOrderInfo); tbEmptyOrderInfo.Controls.Add(trEmptyOrderInfo); otdData.Controls.Add(tbEmptyOrderInfo); }
trData.Controls.Add(otdData); otbAll.Controls.Add(trData);
cell.Controls.Clear(); cell.VerticalAlign = VerticalAlign.Top; cell.Attributes.Add("height", "100%"); cell.BackColor = Color.White; //ColorTranslator.FromHtml("#C2D5FC");
//非本月不加載資料
if (!day.IsOtherMonth) { cell.BorderStyle = System.Web.UI.WebControls.BorderStyle.Dotted; cell.BorderWidth = 1; cell.Height = 120; cell.Controls.Add(otbAll); } else { cell.BackColor = ColorTranslator.FromHtml("#C2D5FC"); } //base.OnDayRender(cell, day);
} } }
|