下拉列表中的日期绑定



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

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#i中是获取开始日期和结束日期。

从日期到开始时间=转换.ToDateTime(dt.Rows[0]["Fdate"]).ToString("yyyy/MM/ddHH:mm:ss");

ToDateWithEndTime=转换.ToDateTime(dt.Rows[0]["Edate"]).ToString("yyyy/MM/ddHH:mm:ss");

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

您可以使用foreach循环迭代查询,并将值绑定到下拉

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

您可以通过查询已填充的数据表(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();

您可以在C#中使用TimeSpan,使用它可以获得这些天之间的差异。就像你用date.substract(AnotherDate)方法从另一个日期减去一个日期时,它会返回Timespan。你可以得到两天之间的天数,比如这个例子:

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));
            }

试试这个。

最新更新