【问题标题】:DATE BIND IN DROP DOWN LIST下拉列表中的日期绑定
【发布时间】:2013-08-30 04:46:48
【问题描述】:

这是查询,我可以获取两个日期之间的所有记录。

SELECT * FROM tblBooking WHERE  
 Convert(datetime,'2013-08-20 04:00:00.000')  --start date  
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime  
    OR Convert(datetime,'2013-08-30 04:00:00.000') --endDate  
    BETWEEN FromDateWithStartTime AND ToDateWithEndTime  
    or FromDateWithStartTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000') --startdate  
     AND Convert(datetime,'2013-08-30 04:00:00.000')  --enddate  
    or ToDateWithEndTime BETWEEN Convert(datetime,'2013-08-20 04:00:00.000')--start date  
    AND Convert(datetime,'2013-08-30 04:00:00.000')

在 C# 中,我获取开始日期和结束日期。

FromDateWithStartTime = Convert.ToDateTime(dt.Rows[0]["Fdate"]).ToString("yyyy/MM/dd HH:mm:ss");

ToDateWithEndTime = Convert.ToDateTime(dt.Rows[0]["Edate"]).ToString("yyyy/MM/dd HH:mm:ss");

我想要介于开始日期和结束日期之间的日期。 并绑定 DRP DOWN 列表中的所有日期。 我该怎么做。

【问题讨论】:

    标签: asp.net


    【解决方案1】:

    您可以使用 foreach 循环遍历您的查询并将值绑定到您的下拉列表

    foreach (item in queryResults)
    {
       ddlDate.items.add(item);
    }
    

    【讨论】:

      【解决方案2】:

      您可以通过查询已填充的数据表 (dtData) 来使用 linq 绑定下拉列表

      ddlDate.DataValueField = "date_value";
      ddlDepartment.DataTextField = "date_value";
      ddlDepartment.DataSource = (from row in dtData.AsEnumerable()
                          select new { date_value = row["date_Column"].ToString()}).Distinct().ToList();
      ddlDate.DataBind();
      

      【讨论】:

        【解决方案3】:

        您可以使用 C# 中的 TimeSpan 来获得这些天之间的差异。就像当您使用 Date.Substract(AnotherDate) 方法从另一个日期中减去一个日期时,它会返回您的时间跨度。你可以像这个例子一样得到两天之间的天数:

        DateTime StartDate = DateTime.Now;
                    DateTime EndDate= DateTime.Now.AddMonths(5);
                    TimeSpan DateDiff = EndDate.Subtract(StartDate);
                    int Days = DateDiff.Days;
                    string Date;
                    for (int i = 1; i <= Days; i++)
                    {
                        Date = StartDate.AddDays(double.Parse(i));
                    }
        

        试试这个。

        【讨论】:

          猜你喜欢
          • 2012-10-16
          • 2022-08-19
          • 2011-02-10
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          • 1970-01-01
          相关资源
          最近更新 更多