1

StartTime、EndTime、および SlotDuration の ListBoxes を作成しました。

StartTime=9:00AM の場合、

EndTime=4:00PM、

SlotDuration=10分

次に、ラベルを次のように動的に表示したい

朝:

午前 9:00 ~ 午前 9:10 チェックボックス

午前 9:10 ~ 午前 9:20 チェックボックス

9:20AM~9:30AM…………など……

午後:

12:00PM-12:10PM チェックボックス

12:10PM-12:20PM.................

そのように


<asp:WizardStep ID="WizardStep3" runat="server" Title="Step 3">
    <div class="content">

        <h1>Matchmaking starts at 
            <asp:DropDownList ID="StartTime_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2">
                <asp:ListItem Text="9:00 AM"></asp:ListItem>
                <asp:ListItem Text="9:30 AM"></asp:ListItem>
                <asp:ListItem Text="10:00 AM"></asp:ListItem>
                <asp:ListItem Text="10:30 AM"></asp:ListItem>
                <asp:ListItem Text="11:00 AM"></asp:ListItem>
                <asp:ListItem Text="11:30 AM"></asp:ListItem>
                <asp:ListItem Text="12:00 PM"></asp:ListItem>
                <asp:ListItem Text="12:30 PM"></asp:ListItem>
                <asp:ListItem Text="1:00 PM"></asp:ListItem>
                <asp:ListItem Text="1:30 PM"></asp:ListItem>
                <asp:ListItem Text="2:00 PM"></asp:ListItem>
                <asp:ListItem Text="2:30 PM"></asp:ListItem>
                <asp:ListItem Text="3:00 PM"></asp:ListItem>
                <asp:ListItem Text="3:30 PM"></asp:ListItem>
                <asp:ListItem Text="4:00 PM"></asp:ListItem>
                <asp:ListItem Text="4:30 PM"></asp:ListItem>
            </asp:DropDownList>
            and ends at 
              <asp:DropDownList ID="EndTime_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2">
                  <asp:ListItem Text="9:00 AM"></asp:ListItem>
                  <asp:ListItem Text="9:30 AM"></asp:ListItem>
                  <asp:ListItem Text="10:00 AM"></asp:ListItem>
                  <asp:ListItem Text="10:30 AM"></asp:ListItem>
                  <asp:ListItem Text="11:00 AM"></asp:ListItem>
                  <asp:ListItem Text="11:30 AM"></asp:ListItem>
                  <asp:ListItem Text="12:00 PM"></asp:ListItem>
                  <asp:ListItem Text="12:30 PM"></asp:ListItem>
                  <asp:ListItem Text="1:00 PM"></asp:ListItem>
                  <asp:ListItem Text="1:30 PM"></asp:ListItem>
                  <asp:ListItem Text="2:00 PM"></asp:ListItem>
                  <asp:ListItem Text="2:30 PM"></asp:ListItem>
                  <asp:ListItem Text="3:00 PM"></asp:ListItem>
                  <asp:ListItem Text="3:30 PM"></asp:ListItem>
                  <asp:ListItem Text="4:00 PM"></asp:ListItem>
                  <asp:ListItem Text="4:30 PM"></asp:ListItem>
                  <asp:ListItem Text="5:00 PM"></asp:ListItem>
                  <asp:ListItem Text="5:30 PM"></asp:ListItem>
                  <asp:ListItem Text="6:00 PM"></asp:ListItem>

              </asp:DropDownList>. 
                                    <br />
            <br />
            Each slot is
            <asp:DropDownList ID="SlotDuration_DDL" runat="server" Style="color: #727272 !important; font-size: 24px; font-weight: 100;" CssClass="span2" OnSelectedIndexChanged="SlotDuration_DDL_SelectedIndexChanged">

                <asp:ListItem>10</asp:ListItem>
                <asp:ListItem>15</asp:ListItem>
                <asp:ListItem>20</asp:ListItem>
                <asp:ListItem>25</asp:ListItem>
                <asp:ListItem>30</asp:ListItem>
                <asp:ListItem>35</asp:ListItem>
                <asp:ListItem>40</asp:ListItem>
                <asp:ListItem>45</asp:ListItem>
                <asp:ListItem>50</asp:ListItem>
                <asp:ListItem>55</asp:ListItem>
                <asp:ListItem>60</asp:ListItem>
            </asp:DropDownList>
            minutes long. </h1>

    </div>
</asp:WizardStep> 

私のC#コードは次のとおりです。

        DateTime start = DateTime.Parse(StartTime_DDL.SelectedItem.Text);
        DateTime end = DateTime.Parse(EndTime_DDL.SelectedItem.Text);
        double duration = double.Parse(SlotDuration_DDL.SelectedItem.Text);
        string morning = "";
        string afternon = "";
        while (true)
        {
            DateTime dtNext = start.AddMinutes(duration);
            if (start > end || dtNext > end)
                break;
            if (start < DateTime.Parse("12:00 PM"))
            {
                morning += start.ToShortTimeString() + "-" + dtNext.ToShortTimeString() + "<br>";

                Label lbl = new Label();
                lbl.Text = morning;
                CheckBox cb = new CheckBox();

                this.Timediv.Controls.Add(lbl);

                this.Timediv.Controls.Add(cb);

            }
            else
            {
                afternon += start.ToShortTimeString() + "-" + dtNext.ToShortTimeString() + "<br>";
                Label lbl1 = new Label();
                lbl1.Text = afternon;
                CheckBox cb1 = new CheckBox();

                this.Timediv.Controls.Add(lbl1);

                this.Timediv.Controls.Add(cb1);
            }
            start = dtNext;
        }
        if (morning.Length > 0)
            morning = "<div class='priority low'><span><strong>Morning</strong></span></div>" + morning;
        if (afternon.Length > 0)
            afternon = "<div class='priority medium'><span><strong>Afternoon</strong></span></div>" + afternon;

すべてのラベルの後に checkBox を作成したい

4

2 に答える 2

1

スロットを使用して、開始時間と終了時間を繰り返す方法をお見せします。そして、それらを別のリストに追加して、AM と PM を分離します。

var startTime = 9;
var endTime = 16;
var slot = 10;

var time = new DateTime(2000, 1, 1, startTime , 0, 0);
var timeCollectionForAM = new List<string>();
var timeCollectionForPM = new List<string>();
for (int i = startTime; i < endTime; i++)
{
    for (int y = 0; y < 6; y++)
    {
        if (time.ToString("tt") == "AM")
        {
            timeCollectionForAM.Add(time.ToString("t") + " - " + time.AddMinutes(slot).ToString("t"));
        }
        else {
            timeCollectionForPM.Add(time.ToString("t") + " - " + time.AddMinutes(slot).ToString("t"));
        }
        time = time.AddMinutes(slot);
    }
}
于 2013-11-15T11:31:39.393 に答える