困扰两天,一直没有好的办法?求救!!!!!!!!!!!!!!!
做了一个工资管理系统,字段之间的计算以及在表格中的显示问题?
需求如下:
建一个表A里面,预留100个字段,20个文本型(txt1,txt2....txt20),其他为数值型(Num1,Num2......Num80),用于装载用户的工资表.
表B是项目表(根据用户添加的工资项目以及工资的运算),在添加时,系统判断用户选择是文本型还是数值型以及添加顺序,系统自动获取表A的字段名.用户可以自定义公式.
项目表例:
显示顺序 字段名 项目名称 方式 公式
1 txt1 姓名 输入 无
2 txt2 部门 输入 无
3 Num1 基本工资 输入 无
4 Num2 工龄工资 输入 无
5 Num3 迟到早退 输入 无
6 Num4 工资合计 计算 Round(Isnull(Num1,0)+Isnull(Num2,0)-Isnull(Num3,0),2)
7 Num5 应交税金 计算 所得税公式
8 Num6 实发工资 计算 Round(Isnull(Num4,0)-Isnull(Num5,0),2)
输入项,表示手工输入
计算项:表示由系统的SQL计算(由于所税公式较长,所以没写出)
怎样让它们能在表格(未存入数据库之前)计算呢?
如:用DataGridView来显示.
姓名 部门 基本工资 工龄工资 迟到早退 工资合计 应交税金 实发工资
张三 车间 1600 410 10 2000 20 1980
求一个思路.怎样让输入基本工资\工龄工资等输入项(数值型)时,计算项(工资合计等),能按照公式计算出来.
注:顺序是由用户自定的,而公式我是将它转为SQL来验证,并且插入数据库时是根据公式进行的(更新入库没有什么问题),求的是怎样在表格中能动态地计算?
即: 表格动态地计算?
------解决方案--------------------先将输入的几个数据出入数据库中,然后再将对应的计算公式转换成sql语句进行,再插入到表中。
------解决方案--------------------A. 采用JS前台计算 ,计算结果通过innerHTML更新界面。
B,使用ajax通过httprequest发送数据到后台并取回结果,然后在更新界面。
------解决方案--------------------up
------解决方案--------------------如果是winform,使用DataGridView的数据源DataTable的列值改变事件,直接去计算相关列就可以
如果是webform,用js自已算不就可以了
这样的问题还能困扰两天,昏迷中
------解决方案--------------------后台数据库使用一个存储过程计算并插入数据。
前台采集并且使用后台存储过程插入数据
------解决方案--------------------如果要插入数据库之前,先让用户看到结果,两个办法
1、还不错的办法:直接前台JS计算后输出;
2、有点耗资源的办法:将数据送到后台一个存储过程计算后输入结果
结论:前台JS不需要占用服务器资源,无视带宽,推荐使用。
------解决方案--------------------如果没有理解错误的话,楼主是想在DATAGRIDVIEW中显示这样的结果:
姓名 部门 基本工资 工龄工资 迟到早退 工资合计 应交税金 实发工资
---------------------------
然后依次上面的字段输入: