0

嗨,我有数据库,我将工作日保存为数字(例如周日为 1,周一为 2,依此类推)。我将此信息绑定到网格视图。我想要做的是在我想要的网格视图中显示工作日而不是 1234567 时,它应该显示为“SMTWThFSa”。我正在尝试案例查询,但随后我必须进行几个案例查询,例如

从 Wc_Batches 中选择(当 Weekdy='12' 然后 'SM' 结束时的情况)作为 Weekdy,其中 BatchID='B03141'

有人可以帮我解决这个问题吗?谢谢。

4

1 回答 1

0

我认为它应该在代码级别完成,而不是 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;
}
于 2014-04-02T07:37:03.307 回答