private void BindDgv()
        {
            dgvUserAppraisa.AutoGenerateColumns = false;
            string userName   = UserNa.Text.Trim();
            int    baseTypeId = (int)comBase.SelectedValue;
            bool   isStop     = ChkisStop.Checked;
            List <UserAppraisalBases> userAppraisalBases = UserAppraisalBases.GetListJoinAppraisal();

            if (baseTypeId == 0)
            {
                dgvUserAppraisa.DataSource = userAppraisalBases.FindAll(m => m.UserName.Contains(userName) && m.IsDel == isStop);
            }
            else
            {
                dgvUserAppraisa.DataSource = userAppraisalBases.FindAll(m => m.UserName.Contains(userName) && m.IsDel == isStop && m.BaseTypeId == baseTypeId);
            }
        }
        private void bindDgvUserappraisal()
        {
            DataTable dtUser = UserAppraisalBases.GetDtJoinAppraisal();
            // 获取系数表集合
            List <AppraisalCoefficients> appraisalCoefficients = AppraisalCoefficients.ListAll();

            // 填充
            foreach (var item in appraisalCoefficients)
            {
                //添加系数名
                dtUser.Columns.Add(new DataColumn
                {
                    ColumnName = "AppraisalType" + item.Id
                });
                // 添加系数值
                dtUser.Columns.Add(new DataColumn
                {
                    ColumnName = "AppRaisalCoefficient" + item.Id
                });
                // 添加计算方式
                dtUser.Columns.Add(new DataColumn
                {
                    ColumnName = "CalculationMethod" + item.Id
                });
            }

            // 考核年度
            dtUser.Columns.Add(new DataColumn
            {
                ColumnName = "AssessmentYear"
            });
            // 添加实发年终奖
            dtUser.Columns.Add(new DataColumn
            {
                ColumnName = "YearBonus"
            });
            // dtUser 填充数据
            List <UserAppraisalCoefficients> userAppraisalCoefficients = UserAppraisalCoefficients.ListAll();

            for (int i = 0; i < dtUser.Rows.Count; i++)
            {
                var uacFilter = userAppraisalCoefficients.FindAll
                                    (m => m.UserId == (int)dtUser.Rows[i]["Id"] && m.AssessmentYear == cbxYear.Text);
                // 系数计算的数组,存放每个考核类型的总系数
                double[] yearbonusArray = new double[uacFilter.Count];
                for (int j = 0; j < uacFilter.Count; j++)
                {
                    // 获取AppraisalType对应的dtUser的ColumnName的值
                    // 获取考核次数
                    string appraisalTypeKey        = "AppraisalType" + uacFilter[j].CoefficientId;
                    int    appraisalTypeCountValue = uacFilter[j].Count;
                    // 获取考核系数
                    string appraisalCoefficientKey   = "AppRaisalCoefficient" + uacFilter[j].CoefficientId;
                    int    appraisalCoefficientValue = Convert.ToInt32(uacFilter[j].AppraisalCoefficient);
                    //获取计算方式
                    string calculationMethodKey   = "CalculationMethod" + uacFilter[j].CoefficientId;
                    int    calculationMethodValue = Convert.ToInt32(uacFilter[j].CalculationMethod);

                    //绑定 dtUser值
                    dtUser.Rows[i][appraisalTypeKey]        = appraisalTypeCountValue;
                    dtUser.Rows[i][appraisalCoefficientKey] = appraisalCoefficientValue;
                    dtUser.Rows[i][calculationMethodKey]    = calculationMethodValue;
                    yearbonusArray[j] = appraisalCoefficientValue * appraisalTypeCountValue * calculationMethodValue;
                }
                dtUser.Rows[i]["AssessmentYear"] = cbxYear.Text;
                // 结算实发年终奖
                double yearbonusAll = 0;
                for (int j = 0; j < yearbonusArray.Length; j++)
                {
                    yearbonusAll += yearbonusArray[j];
                }
                // 计算实发年终奖
                double yearBonus = (1 + yearbonusAll) * Convert.ToDouble(dtUser.Rows[i]["AppraisalBase"]);
                // 加入年终奖扣成负数则为0
                dtUser.Rows[i]["YearBonus"] = yearBonus < 0 ? 0 : yearBonus;
            }
            dgvUserAppraisal.AutoGenerateColumns = false;
            dgvUserAppraisal.DataSource          = dtUser;
        }