关于周次 到日期的转换

zengye888 2011-04-20 02:00:26
原表格已经固定好了,不能修改,所有带来一些难题。
做一个选课系统的二次开发,由于原系统只有周次,没有对应的日期,导致很多同学忘记上课时间


如 下所示(DataList 绑定)
多普勒效应实验 第 14周 班 71 星期 6 08:30-10:45 实验人数 20 /20 人数已满
多普勒效应实验 第 14周 班 69 星期 5 14:00-16:15 实验人数 20 /20 人数已满

多普勒效应实验 第 14周 班 68 星期 4 19:00-21:15 实验人数 19/20 人数已满


用DataList绑定一周的选课信息(包括选课实验项目,周,星期,选课人数,实验室最大人数),想再添加一列对应日期

比如 第9周星期3为 2011.4.20

恳求大家指教!

付代码:(前台)

<ItemTemplate>

<table class="DataList" width="768">
<tr>
<td style="width:20%"> <%# DataBinder.Eval(Container.DataItem, "ExpName")%> </td>

<td style="width:6%"> 第 <%# DataBinder.Eval(Container.DataItem, "Week")%>周 </td>
<td style="width:6%"> 班 <%# DataBinder.Eval(Container.DataItem, "ClassID")%> </td>
<td style="width:6%"> 星期 <%# DataBinder.Eval(Container.DataItem, "WeekID")%> </td>
<td style="width:18%"> <%# DataBinder.Eval(Container.DataItem, "StartTime")%>-<%# DataBinder.Eval(Container.DataItem, "EndTime")%></td>
<td style="width:15%"> 实验人数 <%# DataBinder.Eval(Container.DataItem, "GroupCount")%> /<%# DataBinder.Eval(Container.DataItem, "LabCapacity")%></td>
<td style="width:10%"> <asp:Label ID="LStatus" runat="server"></asp:Label></td>


<td style="width:10%">
<asp:Button ID="BSeleLab" runat="server" onclick="BSeleLab_Click" Text="选课" CommandName='<%# DataBinder.Eval(Container.DataItem, "ClassID")%>'
Enabled='<%# Convert.ToInt32(DataBinder.Eval(Container.DataItem, "groupcount"))>=Convert.ToInt32(DataBinder.Eval(Container.DataItem, "LabCapacity")) ?false:true %>' />


</td>

</tr>
</table>
</ItemTemplate>

后台:

DLAccessGroup.Visible = true;
SqlConnection Con = new SqlConnection(System.Configuration.ConfigurationManager.AppSettings["ConnectionString"]);
DataSet ds = new DataSet();
try
{
String sql_AccessGroup = " select * from vi_access_group ";
sql_AccessGroup = sql_AccessGroup + " where ";
sql_AccessGroup = sql_AccessGroup + " (ExpID='" + DrExperiment.SelectedValue.ToString() + "') ";
sql_AccessGroup = sql_AccessGroup + " and (Week='" + DrWeek.SelectedValue.ToString() + "')";
sql_AccessGroup = sql_AccessGroup + "and (checksum(Week,WeekID) not in (select checksum(*) from DenyDate))";
sql_AccessGroup = sql_AccessGroup + " order by week desc, WeekID desc,StartTime desc ";
sql_AccessGroup = sql_AccessGroup + " ";
SqlDataAdapter Cmd_AccessGroup = new SqlDataAdapter(sql_AccessGroup, Con);
Cmd_AccessGroup.Fill(ds, "sql_AccessGroup");
DLAccessGroup.DataSource = ds.Tables["sql_AccessGroup"].DefaultView;
DLAccessGroup.DataBind();

}
finally
{
Con.Close();
}
谢谢大家啦!

...全文
333 13 打赏 收藏 转发到动态 举报
写回复
用AI写文章
13 条回复
切换为时间正序
请发表友善的回复…
发表回复
yksyuan 2011-04-20
  • 打赏
  • 举报
回复

<asp:Label runat="server" ID="lbl_RQ" Text="<%# zbname(Convert.ToString(Eval("RY"))) %>"></asp:Label>
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
[Quote=引用 11 楼 zengye888 的回复:]
yksyuan好:
请问如何把得到的日期绑定到DataList的Label控件!
[/Quote]
直接把DataList里的label的text= “日期”
zengye888 2011-04-20
  • 打赏
  • 举报
回复
yksyuan好:
请问如何把得到的日期绑定到DataList的Label控件!
zengye888 2011-04-20
  • 打赏
  • 举报
回复
String sql_AccessGroup = " select * from vi_access_group ";
sql_AccessGroup = sql_AccessGroup + " where ";
sql_AccessGroup = sql_AccessGroup + " (ExpID='" + DrExperiment.SelectedValue.ToString() + "') ";
sql_AccessGroup = sql_AccessGroup + " and (Week='" + DrWeek.SelectedValue.ToString() + "')";
sql_AccessGroup = sql_AccessGroup + " order by WeekID ,StartTime ";
sql_AccessGroup = sql_AccessGroup + " ";
SqlDataAdapter Cmd_AccessGroup = new SqlDataAdapter(sql_AccessGroup, Con);
Cmd_AccessGroup.Fill(ds, "sql_AccessGroup");
DLAccessGroup.DataSource = ds.Tables["sql_AccessGroup"].DefaultView;
//DLAccessGroup.DataBind(); //自定义添加按钮
//自定义添加按钮
int i = 1;
foreach (DataListItem LabelItem in DLAccessGroup.Items)
{
DataLabWeek = ds.Tables["sql_AccessGroup"].Rows[i];
j = int.Parse(DataLabWeek["GroupCount"].ToString());
k = int.Parse(DataLabWeek["LabCapacity"].ToString());
week = int.Parse(DataLabWeek["Week"].ToString());
weekid = int.Parse(DataLabWeek["WeekID"].ToString());
classid = int.Parse(DataLabWeek["ClassID"].ToString());
//把每一行的信息单独取出来,如周(Week),星期(WeekID) 但我不知道如何计算把周、星期转换为对应的
//日期,以及如何绑定到Label(Label的标签为LStatus)
}
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
汗。用我7楼的方法 不一样么。。
你后台代码 根据前台数据中 获取的 “周次” 作为参数。
通过zbname 函数处理后。前台 显示的就是 你return的值
zengye888 2011-04-20
  • 打赏
  • 举报
回复
可以在datalist 绑定一个Label 控件,用Label控件来显示日期,但我不知道代码怎么写?
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
直接在后台写个函数。根据前台的参数来返回。

protected string zbname(string id)
{
return xm;
}


<%# zbname(Convert.ToString(Eval("RY"))) %>

yksyuan 2011-04-20
  • 打赏
  • 举报
回复
楼上说错。 我们不一样。。呵呵 把你的当成我的考虑了
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
不需要绑定到DataList
把日期和周次显示 放到DataList外面
这样简单
zengye888 2011-04-20
  • 打赏
  • 举报
回复
我们这里是2月20号开学,也就是2月21号 为第1周星期1,主要问题是如何绑定到DataList中啦
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
判断当前日期是星期几的函数

protected string getweek()
{
DateTime dt = DateTime.Now;

int m = dt.Month, d = dt.Day, y = dt.Year;

if (m == 1 || m == 2)
{
m += 12;
y--;
}

int week = (d + 2 * m + 3 * (m + 1) / 5 + y + y / 4 - y / 100 + y / 400) % 7;

string weekstr = "";

switch (week)
{
case 0: weekstr = "星期一"; break;
case 1: weekstr = "星期二"; break;
case 2: weekstr = "星期三"; break;
case 3: weekstr = "星期四"; break;
case 4: weekstr = "星期五"; break;
case 5: weekstr = "星期六"; break;
case 6: weekstr = "星期日"; break;
}

return weekstr;
}
  • 打赏
  • 举报
回复
DateTime.Today.DayOfWeek和DateTime.Today.Day等Today下的很多属性
yksyuan 2011-04-20
  • 打赏
  • 举报
回复
我去年 也搞过一个 选课系统。也要 计算周次。星期几。显示日期的
我的周次 是根据 “开学”日期来计算的
你这个 要给出周次的 计算方法啊

62,046

社区成员

发帖
与我相关
我的任务
社区描述
.NET技术交流专区
javascript云原生 企业社区
社区管理员
  • ASP.NET
  • .Net开发者社区
  • R小R
加入社区
  • 近7日
  • 近30日
  • 至今
社区公告

.NET 社区是一个围绕开源 .NET 的开放、热情、创新、包容的技术社区。社区致力于为广大 .NET 爱好者提供一个良好的知识共享、协同互助的 .NET 技术交流环境。我们尊重不同意见,支持健康理性的辩论和互动,反对歧视和攻击。

希望和大家一起共同营造一个活跃、友好的社区氛围。

试试用AI创作助手写篇文章吧