zoukankan      html  css  js  c++  java
  • 分层中 显示 多张表组合的一张表 处理办法

        其实现代码如下:

            

         /// <summary>
         /// 得到某机构工资发放明细的自定义DataTable对象
         /// </summary>
         /// <param name="branchId"></param>
         /// <returns></returns>
         public static DataTable GetCustomerGrantDetailByBranchId(int branchId)
          {
             //得到所有工资标准项
             IList<Salary_item> sItems = BLL.Salary_itemManager.GetAllSalary_items();
             //得到某机构下所有员工列表
             IList<Human_file> humans = BLL.Human_fileManager.GetHumanFileByBranchId(branchId);


             DataTable dt = new DataTable();


             //col1-序号
             DataColumn colKey = new DataColumn();
             colKey.ColumnName = "序号";
             colKey.DataType = typeof(int);
             dt.Columns.Add(colKey);


             //col2-姓名
             DataColumn colName = new DataColumn();
             colName.ColumnName = "姓名";
             colName.DataType = typeof(string);
             dt.Columns.Add(colName);


             //以下循环添加工资标准项列
             foreach (Salary_item item in sItems)
              {
                 DataColumn col = new DataColumn();
                 col.ColumnName = item.Salary_items_name;
                 col.DataType = typeof(string);
                 dt.Columns.Add(col);
              }


             //col-奖励列
             DataColumn colAdd = new DataColumn();
            colAdd.ColumnName = "奖励金额";
            colAdd.DataType = typeof(decimal);
            dt.Columns.Add(colAdd);


             //col-处罚列
             DataColumn colDec = new DataColumn();
             colDec.ColumnName = "应扣金额";
             colDec.DataType = typeof(decimal);
             dt.Columns.Add(colDec);
             //col-操作列
             DataColumn colOpt = new DataColumn();
             colOpt.ColumnName = "操作";
             colOpt.DataType = typeof(string);
             dt.Columns.Add(colOpt);

             //给DataTable填充数据
             foreach (Human_file human in humans)
               {
                 DataRow r = dt.NewRow();
                 r["序号"] = human.Id;
                 r["姓名"] = human.Human_name;
                 foreach (Salary_item item in sItems)
                   {
                      r[item.Salary_items_name] = BLL.Salary_standard_detailManager.GetSalaryBySalaryItemIdAndSalaryStandardId(human.Ss_no.Id, item.Id).ToString("F2");
                    }
                 r["奖励金额"] = "0.0";
                 r["应扣金额"] = "0.0";

                 dt.Rows.Add(r);
               }

             return dt;


         }

     ***************  关于右边的 动态添加文本筐列和LinkButton列

               

  • 相关阅读:
    MDX查询语句
    MyEclipse 点击 部署 按钮 无效
    C#创建数字证书并导出为pfx,并使用pfx进行非对称加解密
    SSIS – 变量和表达式
    使用 SSIS Foreach Loop 容器 – Foreach Item Enumerator
    SSIS – For Loop Container
    SSIS 中的文件系统任务 (File System Task)
    TypeError: parse() got an unexpected keyword argument 'transport_encoding' 安装tensor后报错
    np基本函数大全
    使用OpenCV对图像进行缩放
  • 原文地址:https://www.cnblogs.com/yingger/p/2615410.html
Copyright © 2011-2022 走看看