算法问题..给datatable的一列赋值

hbz253638398 2010-02-03 02:20:03
问一个算法问题..给datatable的一列赋值.

我的数据是这样的

员工 调动时间 调动工种
张三 2001-01-01 工种C
张三 2010-01-01 工种A
张三 2010-01-03 工种B
李四 2001-01-01 工种A

我现在要的数据是.如果我查询2009-12-25到2010-01-24的数据的时候,显示数据为

员工 调动时间 结束时间 调动工种

张三 2009-12-25 2010-01-01 工种C
张三 2010-01-01 2010-01-03 工种A
张三 2010-01-03 2010-01-24 工种B
李四 2001-12-25 2010-01-24 工种A

...全文
252 8 打赏 收藏 转发到动态 举报
写回复
用AI写文章
8 条回复
切换为时间正序
请发表友善的回复…
发表回复
十八道胡同 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 7 楼 hbz253638398 的回复:]
仔细观察调动记录你会发现只有一条调动记录的话..他的开始时间和结束时间就是选择的2009-12-25到2010-01-24,如果有两条的话第二条的开始时间就是第一条的结束时间..我知道要循环datable,但是写了半天都有问题
[/Quote]
你可以在循环的时候判断一下是否还有调动记录,然后分情况谈论。
hbz253638398 2010-02-03
  • 打赏
  • 举报
回复
仔细观察调动记录你会发现只有一条调动记录的话..他的开始时间和结束时间就是选择的2009-12-25到2010-01-24,如果有两条的话第二条的开始时间就是第一条的结束时间..我知道要循环datable,但是写了半天都有问题
jack20080808 2010-02-03
  • 打赏
  • 举报
回复
给你个示例做参考
<%@ Page Language="C#" AutoEventWireup="true"  CodeFile="Default.aspx.cs" Inherits="_Default" %>

<!DOCTYPE html PUBLIC "-//W3C//DTD XHTML 1.0 Transitional//EN" "http://www.w3.org/TR/xhtml1/DTD/xhtml1-transitional.dtd">

<html xmlns="http://www.w3.org/1999/xhtml" >
<head id="Head1" runat="server">
<title>动态生成DataTable</title>
</head>
<body>
<form id="form1" runat="server">
<div>
<asp:GridView ID="GridView1" runat="server">
</asp:GridView>
</div>
</form>
</body>
</html>


using System;
using System.Data;
using System.Configuration;
using System.Collections;
using System.Web;
using System.Web.Security;
using System.Web.UI;
using System.Web.UI.WebControls;
using System.Web.UI.WebControls.WebParts;
using System.Web.UI.HtmlControls;

public partial class _Default : System.Web.UI.Page
{
protected void Page_Load(object sender, EventArgs e)
{
GridView1.DataSource = GetDataTable();
GridView1.DataBind();
}
DataTable GetDataTable()
{
DataTable dt = new DataTable("cart");
DataColumn dc1 = new DataColumn("prizename", Type.GetType("System.String"));
DataColumn dc2 = new DataColumn("point", Type.GetType("System.Int16"));
DataColumn dc3 = new DataColumn("number", Type.GetType("System.Int16"));
DataColumn dc4 = new DataColumn("totalpoint", Type.GetType("System.Int64"));
DataColumn dc5 = new DataColumn("prizeid", Type.GetType("System.String"));
dt.Columns.Add(dc1);
dt.Columns.Add(dc2);
dt.Columns.Add(dc3);
dt.Columns.Add(dc4);
dt.Columns.Add(dc5);
//以上代码完成了DataTable的构架,但是里面是没有任何数据的
for (int i = 0; i < 10; i++)
{
DataRow dr = dt.NewRow();
dr["prizename"] = "娃娃" + i.ToString();
dr["point"] = 10 + i;
dr["number"] = i;
dr["totalpoint"] = 10 + i;
dr["prizeid"] = "00" + i.ToString();
dt.Rows.Add(dr);
}
return dt;
}


}
jenny0810 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 2 楼 hbz253638398 的回复:]
引用 1 楼 ilovey4 的回复:
看的不是很懂


数据库的调动时间没有结束时间,只有调动时间.我想通过程序给他加上
[/Quote]那结束时间是随便加的吗??再说你的原数据张三调动时间也没有2009-12-25的呀???
  • 打赏
  • 举报
回复
在datatable里加上一个时间列,然后循环赋值了哦
caofan520 2010-02-03
  • 打赏
  • 举报
回复
添加新列
在循环赋值
hbz253638398 2010-02-03
  • 打赏
  • 举报
回复
[Quote=引用 1 楼 ilovey4 的回复:]
看的不是很懂
[/Quote]

数据库的调动时间没有结束时间,只有调动时间.我想通过程序给他加上
ilovey4 2010-02-03
  • 打赏
  • 举报
回复
看的不是很懂

62,254

社区成员

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

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

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

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