职业病体检表。根据内容,设置表格XRTable中的单元格XRTableCell样式

根据结果设置背景颜色,根据DataTable中的值(未在XRTable中显示)设置项目名称的字体。

在XRTable的BeforePrint的事件中。

1,根据DataRowView drv = this.DetailReport.GetCurrentRow() as DataRowView;获取当前行的数据,DataTable包含并未绑定到Table的数据。

2,根据列的值,设置样式,注意要设置在else中回归原本样式。

    private void xrTable2_BeforePrint(object sender, System.Drawing.Printing.PrintEventArgs e)
        {
            //DataTable dt = this.DetailReport.DataSource == null ? null : this.DetailReport.DataSource as DataTable;
            XRTable xrtable = sender as XRTable;
            XRTableRowCollection xrtableRowCollection = xrtable.Rows;
            int numRow = xrtableRowCollection.Count;
            DataRowView drv = this.DetailReport.GetCurrentRow() as DataRowView;
            for (int iC = 0; iC < numRow; iC++)
            {
                //DataRow dr = dt.Rows[iC];
                string valueLI = drv[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME] == null ? "" : drv[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME].ToString();
                string valueL = drv[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME] == null ? "" : drv[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME].ToString();
                string valueRI = drv[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME + "1"] == null ? "" : drv[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME + "1"].ToString();
                string valueR = drv[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1"] == null ? "" : drv[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1"].ToString();
                XRTableRow xrtableRow = xrtableRowCollection[iC];
                XRTableCellCollection xrtableCellCollection = xrtableRow.Cells;
                int numColumn = xrtableCellCollection.Count;
                for (int iR = 0; iR < numColumn; iR++)
                {
                    XRTableCell xrtableCell = xrtableCellCollection[iR];
                    if (iR == 0)
                    {
                        if (valueLI.Equals(valueL))
                        {
                            xrtableCell.Font = new System.Drawing.Font("宋体", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                        }
                        else
                        {
                            xrtableCell.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                        }
                    }
                    else if (iR == 1)
                    {
                        string value = xrtableCell.Text;
                        if (string.IsNullOrWhiteSpace(valueL)) { }
                        else
                        {
                            if (value.Equals("-"))
                            {
                                xrtableCell.BackColor = Color.Transparent;
                            }
                            else
                            {
                                //value.Equals("-");
                                xrtableCell.BackColor = Color.LightGray;
                            }
                        }
                    }
                    else if (iR == 2)
                    {
                        if (valueRI.Equals(valueR))
                        {
                            xrtableCell.Font = new System.Drawing.Font("宋体", 12F, ((System.Drawing.FontStyle)((System.Drawing.FontStyle.Bold | System.Drawing.FontStyle.Italic))), System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                        }
                        else
                        {
                            xrtableCell.Font = new System.Drawing.Font("宋体", 12F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0)));
                        }
                    }
                    else if (iR == 3)
                    {
                        string value = xrtableCell.Text;
                        if (string.IsNullOrWhiteSpace(valueR)) { }
                        else
                        {
                            if (value.Equals("-"))
                            {
                                xrtableCell.BackColor = Color.Transparent;
                            }
                            else
                            {
                                //value.Equals("-");
                                xrtableCell.BackColor = Color.LightGray;
                            }
                        }

                    }
                }
            }
        }


以下是数据绑定。

            this.DetailReport.DataSource = dt;
            this.xrTableCell_name.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME);
            this.xrTableCell_result.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE);
            this.xrTableCell_name1.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1");
            this.xrTableCell_result1.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE + "1");

注意:DataTable绑定给了DetailReport。

        public void InitData(string strSglID)
        {
            string modelFID = "";
            DataTable dt_4SingleEx = BLLUtil.GetTableData(TableField.T_SINGLE_CHECKINFO_EXTEND.T_NAME, TableField.T_SINGLE_CHECKINFO_EXTEND.SGLCHECKID,
                strSglID);
            if (dt_4SingleEx == null || dt_4SingleEx.Rows.Count < 1) { return; }
            else
            {
                modelFID = dt_4SingleEx.Rows[0][TableField.T_SINGLE_CHECKINFO_EXTEND.SYMPTOMSMODEL].ToString();
            }
            string TiJianRiQi = "";
            //DataTable dt_4Single = BLLUtil.GetTableData(TableFieldBase.T_SINGLE_CHECKINFO.T_NAME, TableFieldBase.T_SINGLE_CHECKINFO.SGLCHECKID, strSglID);
            //if (dt_4Single == null || dt_4Single.Rows.Count < 1) { }
            //else
            //{
            DateTime dt_temp;
            if (DateTime.TryParse(dt_4SingleEx.Rows[0][TableField.T_SINGLE_CHECKINFO_EXTEND.SIGNDATE].ToString(), out dt_temp))
            {
                TiJianRiQi = dt_temp.ToLongDateString();
            }
            //}

            this.xrTableCell_tijianriqi_left.Text = this.xrTableCell_tijianriqi_right.Text = TiJianRiQi;
            if (BLLBaseInfo.GetSrvconfigBoolean(TableField.strOHS_report_ReportWithSignPic))
            {
                this.XRPictureBox_yishengSign.Image = ReportSignPictureUtil.GetDoctorSignPictureByID(dt_4SingleEx.Rows[0][TableField.T_SINGLE_CHECKINFO_EXTEND.SIGNDOCTOR].ToString());
                this.xrLabel_yishengqianming.Visible = false;
            }
            else
            {
                this.xrLabel_yishengqianming.Text = BLLBaseInfo.GetEmpByID(dt_4SingleEx.Rows[0][TableField.T_SINGLE_CHECKINFO_EXTEND.SIGNDOCTOR].ToString()).FNAME;// BLLOccupationalDisease.GetZhengZhuangYiShengQianMing(strSglID,true);
                this.XRPictureBox_yishengSign.Visible = false;
            }
            List<string> ls = new List<string>();
            if (string.IsNullOrWhiteSpace(strSglID)) { }
            else
            {
                DataTable dt_personrisk = BLLUtil.GetTableData(TableFieldBase.T_OHS_PERSONRISKDETAIL.T_NAME, TableFieldBase.T_OHS_PERSONRISKDETAIL.SGLCHECKID, strSglID);
                if (dt_personrisk == null || dt_personrisk.Rows.Count < 1)
                {
                }
                else
                {
                    foreach (DataRow dr_personrisk in dt_personrisk.Rows)
                    {
                        string id = dr_personrisk[TableFieldBase.T_OHS_PERSONRISKDETAIL.T_OHS_FACTOR2JOB_FID] == null ? "" : dr_personrisk[TableFieldBase.T_OHS_PERSONRISKDETAIL.T_OHS_FACTOR2JOB_FID].ToString();
                        if (string.IsNullOrWhiteSpace(id)) { }
                        else
                        {
                            ls.Add(id);
                        }
                    }
                }
            }
            string[] f2js = ls.ToArray();
            DataTable dt_4pmZuo = BLLOccupationalDisease.getPersonSymptomsGeneralZuo(modelFID, f2js);
            DataTable dt_4pmYou = BLLOccupationalDisease.getPersonSymptomsGeneralYou(modelFID, f2js);

            DataTable dt_4symptomResult = BLLUtil.GetTableData(TableField.T_OHS_PERSONSYMPTOMS.T_NAME,
                TableField.T_OHS_PERSONSYMPTOMS.SINGLEID, strSglID);

            if (dt_4symptomResult == null || dt_4symptomResult.Rows.Count == 0)
            {

            }
            else
            {
                int i4symptomResult = dt_4symptomResult.Rows.Count;
                for (int i = 0; i < i4symptomResult; i++)
                {//循环已有的结果,分别从左、右dt中寻找,找到则修改结果。
                    //如果两个都没找到,则说明是特殊症状,直接加到右dt中。
                    DataRow[] dr_4zuoResults = dt_4pmZuo.Select(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "='" + dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.SYMPTOMNAME].ToString() + "'");
                    if (dr_4zuoResults.Length == 1)
                    {
                        dr_4zuoResults[0][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE] = dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.RESULT];
                        //不知道这样修改能否改变dt_4pmZuo
                        continue;
                    }
                    DataRow[] dr_4youResults = dt_4pmYou.Select(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "='" + dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.SYMPTOMNAME].ToString() + "'");
                    if (dr_4youResults.Length == 1)
                    {
                        dr_4youResults[0][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE] = dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.RESULT];
                        //不知道这样修改能否改变dt_4pmZuo
                        continue;
                    }
                    DataRow dr_4temp = dt_4pmYou.NewRow();
                    dr_4temp[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME] = dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.SYMPTOMNAME];
                    dr_4temp[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE] = dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.RESULT];
                    //dr_4temp[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.FID] = dt_4symptomResult.Rows[i][TableField.T_OHS_PERSONSYMPTOMS.FIDSYMPTOM];
                    dt_4pmYou.Rows.Add(dr_4temp);
                }
            }

            DataTable dt = new DataTable();
            dt.Columns.Add(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME);
            dt.Columns.Add(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE);
            dt.Columns.Add(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1");
            dt.Columns.Add(TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE + "1");
            dt.Columns.Add(TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME);
            dt.Columns.Add(TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME + "1");
            int iTemp = dt_4pmZuo.Rows.Count >= dt_4pmYou.Rows.Count ? dt_4pmZuo.Rows.Count : dt_4pmYou.Rows.Count;
            for (int i = 0; i < iTemp; i++)
            {
                DataRow drNew = dt.NewRow();
                if (dt_4pmZuo.Rows.Count > i)
                {
                    drNew[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME] = dt_4pmZuo.Rows[i][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME];
                    drNew[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE] = dt_4pmZuo.Rows[i][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE];
                    drNew[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME] = dt_4pmZuo.Rows[i][TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME];
                }
                if (dt_4pmYou.Rows.Count > i)
                {
                    drNew[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1"] = dt_4pmYou.Rows[i][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME];
                    drNew[TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE + "1"] = dt_4pmYou.Rows[i][TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE];
                    drNew[TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME + "1"] = dt_4pmYou.Rows[i][TableFieldBase.T_OHS_FACTORS2SYMPTOM.T_SYMPTOM_NAME];
                }
                dt.Rows.Add(drNew);
            }

            //dt.DefaultView.Sort = string.Format("{0} asc", TableField.T_OHS_PERSONSYMPTOMS.COLUMNNUMBER);
            //yqs2014-09-16,我把Symptom的系统改了,撤消了列号。这里暂时改为FID排序,可能需要相应调整。
            //dt_4symptomResult.DefaultView.Sort = string.Format("{0} asc", TableField.T_OHS_PERSONSYMPTOMS.FID);
            this.DetailReport.DataSource = dt;
            this.xrTableCell_name.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME);
            this.xrTableCell_result.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE);
            this.xrTableCell_name1.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.SYMPTOMNAME + "1");
            this.xrTableCell_result1.DataBindings.Add("Text", dt, TableField.T_OHS_SYMPTOM_MODELSYMPTOMS.DEFAULTVALUE + "1");
        }


  • 1
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值