日期:2014-05-18  浏览次数:20472 次

超难的功能实现
最近在做一个项目管理的项目,要用到这样一种功能:

                  项目一       项目二       项目   三
星期一         2                     3                   2
星期二         5                     8                     1

就是说让每一个工程师每天记录自己在每个项目上花了多少时间。我已经建了一个project表,用来存储所有项目的信息,然后在这个页面上根据一些条件读出这个工程师做的项目。
页面上的项目数目(即列数)是不定的,都是动态从数据库读出来的,所以在设计数据库表时肯定不能设计成死了,想问问各位老大有没有什么好的解决方案啊?



------解决方案--------------------
楼主是想设计一个动态的表来存储吧??似乎不太现实 建议更改表的结构 或者分开用2个表格来运作!
------解决方案--------------------
建议写成用户自定义控件,控件功能就是根据数据构建模板并解析用户输入以组合字符串的形式作为参数传递;字串格式例如
阶段串:星期一|星期二|……|星期天,
值串: 项目一ID,项目1所用时间|……|项目I,项目I所用时间$项目1所用时间|……|项目I,项目I所用时间$……$项目I,项目I所用时间$项目1所用时间|……|项目I,项目I所用时间
值串中按$分割的子串应阶段串|分割的子串;
值串分割的子串中再按照|分割就可以得到对应阶段某项目的值,存储过程里面把字符串分解成下面所描述的数据表结构所需要的类型进行记录即可
可以基于下列表结构实现
统计单表
包含 ID 名称
统计单元与项目的关联表
统计单元ID 项目ID
项目表
包含ID 项目名称两个字段,如果还需要分类可以增加其他字段,
结果表
包含 ID 用户 项目表中的ID 结果值
------解决方案--------------------
怎么初看有点像交叉表呢
------解决方案--------------------
不要一个筋的想将 DataTable 读出来的数据直接绑定到 列表控件上,

关系数据库存储的是行记录,但是用户希望看到的可能是单张或者多张表之间 “交叉”的效果,
因此,很多时候,将二维数据显示到 UI 上的时候,我们需要进行行转列或者列转行的,
就是所谓的 PIVOT (旋转),涉及报表应用系统经常需要这样的需求


页面上的项目数目(即列数)是不定的,都是动态从数据库读出来的

=========

Project 这个实体还是按常规设计,

只是当你读出 Project 需要将其行转成列

要么在 SQL 语句就直接处理,
要么在应用程序中处理,

交叉表的简单实现1:使用存储过程
http://www.cnblogs.com/Jinglecat/archive/2007/05/23/756427.html

你的需求应该至少一个表,记录每天每个工程师对每个项目消耗时间,

需求不明,无法给予更多信息了

Hope helpful!

------解决方案--------------------
首先:这是一个古老的数据库设计问题

解决方案:
建议你先看一下,动态数据表.(包括复制表,生成,移数据)
接着看一下,树型数据表设计.以及相关的解决方案.

目的:你当然是可以用分割参数的形式放在一个列,但为了业务的可扩展性还是建议使用上述方法.

记得给分哦~~呵呵
------解决方案--------------------
楼主的问题是一个交叉表设计,在这个问题里有两个维度,一个是项目信息另一个是时间信息.楼主可以把项目信息设计成一个表(ID,项目名称 as Project),时间信息设计成一个表(ID,时间 as Time),另外再设计一个关系表(ID,时间 as Time ,项目 Project,数据 as Data).关系表中存放的是某个时间某个项目的数据,在表现上其实就是某行某列的数据.楼主在界面上呈现的时候可以把项目信息输出到列中,时间信息输出到行中,最后输出它们的关系数据.其实按这样的设计完全可以做出多维度表并且可以按多种方式展现,如何展现其实就是SQL不一样参数不一样而已
------解决方案--------------------
主  题: FileUpload进度条!!!!=======采用讯驰移动双核技术的分割线=========这个问题困扰了我很久.难道CSDN都没人会了?帮帮忙
作  者: whatwherewhyhow (找我啊,可以请往后面拉▄◣真听话,给你糖吃,来,)
等  级:
信 誉 值: 100
所属论坛: .NET技术 ASP.NET
问题点数: 0
回复次数: 1
发表时间: 2007-07-22 22:44:17


没分了。。。。。

大家讨论一下FileUpload上传文件的时候

如何获取已经上传到服务器的文件大小?

SaveAs方法貌似写到内存再创建文件.

MS自带的FileUpload在上传组件中效率是最高

想做个进度条,但是没办法获得已上传文件的大小.

这个问题困扰了我很久.难道CSDN都没人会了?帮帮忙

做好以后发给大家


http://community.csdn.net/Expert/TopicView1.asp?id=5669001

借个地...LZ不要生气哈哈..

======================采用讯驰移动双核技术的分割线============================
------解决方案--------------------
呵呵,碰巧我也刚做过一个项目信息管理系统
楼主的问题是统计项目成员每天工时,可以设计一张日报表,记录各个工程师的工时信息(包括所属项目、岗位、工时、日期等)。你的问题是每天所做的项目可能不大同,可以不采用asp.net的控件,直接拼出一个table来,比较灵活。下面的代码可以参考一下,希望有所帮助。