【问题标题】:I want to represent weekdays in a gridview我想在网格视图中表示工作日
【发布时间】:2012-08-23 03:29:06
【问题描述】:
<asp:GridView ID="grid1" runat="server" AutoGenerateColumns="False">

   <Columns>
      <asp:BoundField DataField='id' HeaderText="Id" Visible="False" />
      <asp:BoundField DataField='Name' Visible="True"  HeaderText="Full Name"/>


     <asp:BoundField  HeaderText="Monday"  />   
     <asp:BoundField  HeaderText="Tuesday" />   
     <asp:BoundField  HeaderText="Wednesday"  />   
     <asp:BoundField  HeaderText="Thursday"  />   
      <asp:BoundField HeaderText="Friday"  />              
  </Columns>

</asp:GridView>

<asp:TextBox ID="tbFirstDate" runat="server"></asp:TextBox>

//在作为此网格 1 的源的 DataTable 中,我有一列“日期”,但在网格中我需要显示带有该日期的工作日(例如 2012 年 8 月 20 日星期一)。我还有一个 TextBox(tbFirstDate) 定义了哪一天是星期一,所以使用该信息我需要计算其余的工作日,日期格式是 yyyy-mm-dd

我使用 PostreSQL,这是 SQL 查询:

SELECT  *  FROM Table1
WHERE  id1=212 AND date BETWEEN '20.08.2012' AND  '24.08.2012'
ORDER BY date

现在我想像这样在网格中表示这个结果

【问题讨论】:

  • 你能说明一下你的网格应该是什么样子吗?
  • 所以基本上你的实际问题是如何将DateTime's DayOfWeek 值更改指定的天数?
  • @AmiramKorach 我添加了我的网格的图片,现在可能更清晰了
  • 目前还不清楚。这只是一个SQL问题,你知道如何分组吗? "define which day is monday" 究竟是什么意思?用户可以选择星期五而不是星期一来定义给定日期的偏移量吗? value 是什么,它是需要分组的字符串、字符、数字或日期,还是只是某个指示符?
  • @TimSchmelter TextBox 旨在仅接收星期一的值,主要问题是如何使用星期一偏移量计算我拥有的每个日期的星期几

标签: asp.net datetime gridview weekday


【解决方案1】:

所以基本上你的实际问题是如何将DateTime's DayOfWeek 值更改为与指定一周的第一天的距离?

那么你可以使用这个方法:

public static int Weekday(DateTime dt, DayOfWeek startOfWeek)
{
    return (dt.DayOfWeek - startOfWeek + 7) % 7;
}

例如,假设用户今天输入以指定Tuesday 是一周的开始:

DateTime value = new DateTime(2012, 8, 20);
DayOfWeek weekday = (DayOfWeek)Weekday(value, DateTime.Now.DayOfWeek);
Console.Write("normally:{0} changed to:{1}", value.DayOfWeek, weekday); 

演示:http://ideone.com/Zk99b

如果是这样,你只需要在GridViewRowDataBound 中使用此方法,根据tbFirstDate 中的指定日期和date 中的指定日期手动设置TemplateField 中的标签文本GridViewRow 的DataItem 中的值。使用GridViewRow.FindControl("LabelID") 获取对标签的引用。

【讨论】:

  • Schemelter 我添加了我的网格的图片,现在可能更清晰了
猜你喜欢
  • 2016-10-21
  • 2014-03-08
  • 2013-03-31
  • 2020-12-26
  • 2018-12-21
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多