准备将datagrid关联到数据库中的一个表(通过dataSet),但表中有一项内容是和时间有关的,每次都需要根据当前时间计算才能得到正确的值,不能直接得到,如何能让它在datagrid中正确的显示计算以后的值?急啊,请高手们施以援手!
解决方案 »
- .NET太蛋疼了。。。。。。。。
- 为什么智能设备里引用的System.Net里没有WebClient类?
- 怎么用C#读取数据库中符合条件的文件显示在datagridview中
- C#提取图标并显示在panle上
- c#中限制要保存的jpg图片的大小在200-300K,300dpi,1600x1200
- datagridview如何合并单元格
- A页面postB页面,打开B页面,B页面还是能获得A页面的post内容怎么做?
- 为何是等价的?
- 请问VS 2003 STUDIO CD-KEY?
- 请问DataGrid里的按钮的事件处理程序中无法打开PDF文件的链接怎么办呀?
- 如何自动调整让DataGrid列的宽度
- 烂白菜上路 请高手告诉我学C 先从那里下手
GetDate()in the query string, you can write
select aaa, bbb , GetDate() from table1and fill it the datesetbut maybe you have to refresh consistanly the page to get the accurate time
但我还是不知道怎样去做。我举个更详细一点的例子好了
员工加班费,平时都是20块/小时,但有时候特殊时期有特殊的加班工资,每个员工特殊时期起始时间和截至时间可能不一样,加班费也不一样,因此设计如下的表:
ygjbfb:
员工ID
每小时加班费
起始时间
截止时间
计算方式(具体表明其在特殊周期里面那几天算特殊加班,如只对周六周日)这样在计算员工的工资时,需要从ygjbfb中根据员工ID去找,如果有,则根据计算方法来计算每一天的加班费是多少,我想在datagrid中显示当天每个员工的每小时加班费,因此需要将ygb(员工表)和ygjbfb的内容放在一起,但加班费这一项不能直接显示,怎样才能做到这一点?
Sql 如下(没有考虑计算方式,这个你可以自己加上)
--***********************************************************************
Select
A.EmpID,
B.EmpName,
((Day(EndTime-StartTime)-1) * 24 +
Convert(Int,Left(Convert(varchar( 8),EndTime - StartTime,108),2)) +
Convert(decimal,Substring(Convert(varchar( 8),EndTime - StartTime,108),4,2))/60) * UnitFee As Salary
From YGJBFB As A
Left Join YGB As B On A.EmpID = B.EmpID
--*************************************************************************数据字典:
员工ID -- EmpID
每小时加班费 -- UnitFee
起始时间 -- StartTime
截止时间 -- EndTime员工姓名 -- EmpName
--**************************************
代码说明:Day(EndTime-StartTime)-1 -------〉 计算出加班天数
Convert(Int,Left(Convert(varchar( 8),EndTime - StartTime,108),2)) --------〉计算出加班小时数
Convert(decimal,Substring(Convert(varchar( 8),EndTime - StartTime,108),4,2))/60)-----------〉计算出加班分钟数。实际加班费 = (加班天数*24 +加班小时数 + 加班分数/60)* 每小时加班费至于Left Join取员工名称我就不用解释了吧。以上!
我也想用你的这种方法,但我不知道如何去做,来实现既绑定dataSet,又有些列由自己动态加入。能指点一下吗?