110,535
社区成员
发帖
与我相关
我的任务
分享
//1日指定
date = date.AddDays(1 - rank);
do
{
//第RANK日が平日かどうか判断する
int countWorkDay = scheduleMaster_Dac.countWorkDay(date.ToString(), "1");
if (countWorkDay > 0)
{
//ランキング値を戻る
rank = Convert.ToInt32(htRegularIntervals["RankNo"].ToString());
for (int i = 0; i < rank; i++)
{
if (scheduleMaster_Dac.countWorkDay(date.ToString(), "1") > 0)
{
date = date.AddDays(1);
}
else
{
date = date.AddDays(1);
rank = rank + 1;
}
}
//指定日<開始日の場合、次の月指定日になる
if (date.AddDays(-1) > Convert.ToDateTime(startDay))
{
//指定日を追加
DataRow drDate = dtDate.NewRow();
drDate[0] = date.AddDays(-1);
dtDate.Rows.Add(drDate);
//予定日付
date = date.AddMonths(everyCount).AddDays(1 - date.Day);
}
else
{
date = date.AddMonths(everyCount).AddDays(1 - date.Day);
}
}
else//平日ではない場合、次の日になる
{
date = date.AddDays(1);
}
}
while (dtDate.Rows.Count < translateCount);
//日付データ
dsDate.Tables.Add(dtDate);
//スケジュールヘッダー詳細情報登録
scheduleMaster_Dac_True.InsertScheduleInfo(ht, dsDate);
//1日指定(date就是开始日期)
date = date.AddDays(1 - rank);
do
{
//第RANK日が平日かどうか判断する(rank是第N天的那个N,下面的方法如果countWorkDay>0则是工作日,否则休假日)
int countWorkDay = scheduleMaster_Dac.countWorkDay(date.ToString(), "1");
if (countWorkDay > 0)
{
//指定日<開始日の場合、次の月指定日になる
if (date > Convert.ToDateTime(startDay))
{
//ランキング値を戻る
rank = Convert.ToInt32(htRegularIntervals["RankNo"].ToString());
for (int i = 0; i < rank; i++)
{
if (scheduleMaster_Dac.countWorkDay(date.ToString(), "1") > 0)
{
date = date.AddDays(1);
}
else
{
date = date.AddDays(1);
rank = rank + 1;
}
}
//指定日を追加
DataRow drDate = dtDate.NewRow();
drDate[0] = date.AddDays(-1);
dtDate.Rows.Add(drDate);
//予定日付
date = date.AddMonths(everyCount).AddDays(1 - date.Day);
}
else
{
date = date.AddMonths(everyCount).AddDays(1 - date.Day);
}
}
else//平日ではない場合、次の日になる
{
date = date.AddDays(1);
}
}//translateCount是次数
while (dtDate.Rows.Count < translateCount);
//日付データ(dsDate就是最终的日期了)
dsDate.Tables.Add(dtDate);
protected void Page_Load(object sender, EventArgs e)
{
DateTime dt1 = new DateTime(2012, 7, 1);
DateTime dt2 = new DateTime(2012, 9, 4);
DataTable dt = new DataTable();
for (int i = 1; i <= 7; i++)
{
dt.Columns.Add("dateday" + i, typeof(string));
}
DataRow dr = dt.NewRow();
for (DateTime d = dt1; d <= dt2; d = d.AddDays(1))
{
int w = (int)d.DayOfWeek - 1;
if (w < 0) w = 6;
dr[w] = d;
if (d.DayOfWeek == DayOfWeek.Sunday)
{
dt.Rows.Add(dr);
dr = dt.NewRow();
}
}
if (dr[0] != DBNull.Value) dt.Rows.Add(dr);
GridViewrest.DataSource = dt;
GridViewrest.DataBind();
}
<asp:GridView ID="GridViewrest" runat="server" AutoGenerateColumns="False" Width="100%">
<Columns><asp:TemplateField HeaderText="星期一"><ItemTemplate>
asp:Label ID="Labelxq1" runat="server" Text='<%# Eval("dateday1") %>' ForeColor="#16E3E9"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期二">
<ItemTemplate>
<asp:Label ID="Labelxq2" runat="server" Text='<%# Eval("dateday2") %>' ForeColor="#16E3E9"></asp:Label> </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期三">
<ItemTemplate>
<asp:Label ID="Labelxq3" runat="server" Text='<%# Eval("dateday3") %>' ForeColor="#16E3E9"></asp:Label> </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期四">
<ItemTemplate>
<asp:Label ID="Labelxq4" runat="server" Text='<%# Eval("dateday4") %>' ForeColor="#16E3E9"></asp:Label> </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期五">
<ItemTemplate>
<asp:Label ID="Labelxq5" runat="server" Text='<%# Eval("dateday5") %>' ForeColor="#16E3E9"></asp:Label> </ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期六">
<ItemTemplate>
<asp:Label ID="Labelxq6" runat="server" Text='<%# Eval("dateday6") %>' ForeColor="#FB3C4F"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
<asp:TemplateField HeaderText="星期日">
<ItemTemplate>
<asp:Label ID="Labelxq7" runat="server" Text='<%# Eval("dateday7") %>' ForeColor="#FB3C4F"></asp:Label>
</ItemTemplate>
</asp:TemplateField>
</Columns>
</asp:GridView>
protected void restGridviewBind()
{
DateTime starttime = this.Txtcstart.Text == "" ? Convert.ToDateTime(DateTime.Now.Date.Year + "-" + DateTime.Now.Date.Month + "-01") : Convert.ToDateTime(this.Txtcstart.Text);
DateTime endtime = this.Txtcend.Text == "" ? DateTime.Now.AddMonths(1).Date.AddDays(-1) : Convert.ToDateTime(this.Txtcend.Text);
TimeSpan timedays = endtime - starttime;
DataTable dt = new DataTable();
dt.Columns.Add("dateday1", typeof(string));
dt.Columns.Add("dateday2", typeof(string));
dt.Columns.Add("dateday3", typeof(string));
dt.Columns.Add("dateday4", typeof(string));
dt.Columns.Add("dateday5", typeof(string));
dt.Columns.Add("dateday6", typeof(string));
dt.Columns.Add("dateday7", typeof(string));
for (int i = 0; i <= timedays.Days; i++)
{
DataRow newdr = dt.NewRow();
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Monday)
{
newdr["dateday1"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday2"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday3"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday4"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday5"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Tuesday)
{
newdr["dateday1"] = starttime.AddDays(i - 1).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday3"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday4"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday5"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Wednesday)
{
newdr["dateday1"] = starttime.AddDays(i - 2).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i - 1).Date.ToShortDateString();
newdr["dateday3"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday4"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday5"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Thursday)
{
newdr["dateday1"] = starttime.AddDays(i - 3).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i - 2).Date.ToShortDateString();
newdr["dateday3"] = starttime.AddDays(i - 1).Date.ToShortDateString();
newdr["dateday4"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday5"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Friday)
{
newdr["dateday1"] = starttime.AddDays(i - 4).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i - 3).Date.ToShortDateString();
newdr["dateday3"] = starttime.AddDays(i - 2).Date.ToShortDateString();
newdr["dateday4"] = starttime.AddDays(i - 1).Date.ToShortDateString();
newdr["dateday5"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Saturday)
{
newdr["dateday1"] = starttime.AddDays(i - 5).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i - 4).Date.ToShortDateString();
newdr["dateday3"] = starttime.AddDays(i - 3).Date.ToShortDateString();
newdr["dateday4"] = starttime.AddDays(i - 2).Date.ToShortDateString();
newdr["dateday5"] = starttime.AddDays(i - 1).Date.ToShortDateString();
newdr["dateday6"] = starttime.AddDays(i).Date.ToShortDateString();
i++;
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
if (starttime.AddDays(i).Date.DayOfWeek == DayOfWeek.Sunday)
{
newdr["dateday1"] = starttime.AddDays(i - 6).Date.ToShortDateString();
newdr["dateday2"] = starttime.AddDays(i - 5).Date.ToShortDateString();
newdr["dateday3"] = starttime.AddDays(i - 4).Date.ToShortDateString();
newdr["dateday4"] = starttime.AddDays(i - 3).Date.ToShortDateString();
newdr["dateday5"] = starttime.AddDays(i - 2).Date.ToShortDateString();
newdr["dateday6"] = starttime.AddDays(i-1).Date.ToShortDateString();
newdr["dateday7"] = starttime.AddDays(i).Date.ToShortDateString();
dt.Rows.Add(newdr);
continue;
}
}
this.GridViewrest.DataSource = dt;
this.GridViewrest.DataBind();
}