嗨,我有数据库,我将工作日保存为数字(例如周日为 1,周一为 2,依此类推)。我将此信息绑定到网格视图。我想要做的是在我想要的网格视图中显示工作日而不是 1234567 时,它应该显示为“SMTWThFSa”。我正在尝试案例查询,但随后我必须进行几个案例查询,例如
从 Wc_Batches 中选择(当 Weekdy='12' 然后 'SM' 结束时的情况)作为 Weekdy,其中 BatchID='B03141'
有人可以帮我解决这个问题吗?谢谢。
我认为它应该在代码级别完成,而不是 SQL。将 SQL 查询更改为:
select Weekdy from Wc_Batches
在 ascx/aspx 添加GridView
:
<asp:GridView ID="gv" runat="server" AutoGenerateColumns="False">
<Columns>
<asp:BoundField DataField="Days" HeaderText="Week days" />
</Columns>
</asp:GridView>
然后在后面的代码中写:
var weekdays = GetWeekdays(); // some method that executes sql query and returns list.
var dataList = weekdays.Select(d => new
{
Days = string.Join(string.Empty, d.Select(c => GetWeekDayFromInt(int.Parse(c.ToString())))))
});
gv.DataSource = dataList;
gv.DataBind();
...
public string GetWeekDayFromInt(int day)
{
switch (day)
{
case 1:
return "S";
case 2:
return "M";
case 3:
return "T";
... // other days
}
return string.Empty;
}