Пример #1
0
        public void Bind(DataTable dt1, DataTable dt2, string url)
        {
            //增加基准项目/对比项目是否有值的判断,防止报错
            //added by liuxc,2014.11.29
            if (DDL_V1.SelectedItem == null)
            {
                Right.AddEasyUiPanelInfo("提示", "基准项目没有数据,请先完善数据!");
                return;
            }

            if (DDL_V2.SelectedItem == null)
            {
                Right.AddEasyUiPanelInfo("提示", "对比项目没有数据,请先完善数据!");
                return;
            }

            string   key        = this.DDL_Group.SelectedItemStringVal;
            Attr     attr       = this.currMapRpt.HisEn.EnMap.GetAttrByKey(key);
            Entities ensOfGroup = attr.HisFKEns;

            ensOfGroup.RetrieveAll();

            string str = "";

            str += "<Table class='Table' cellspacing='0' cellpadding='0' border='0' style='width:100%'>";
            str += "<TR>";
            str += "  <TD warp=false class='GroupTitle' nowrap style='text-align:center' >序</TD>";
            str += "  <TD warp=false class='GroupTitle' nowrap >" + this.DDL_D.SelectedItem.Text + "</TD>";
            str += "  <TD warp=false class='GroupTitle' nowrap >" + (this.DDL_V1.SelectedItem == null ? "" : this.DDL_V1.SelectedItem.Text) + "</TD>";
            str += "  <TD warp=false class='GroupTitle' nowrap >" + this.DDL_V2.SelectedItem.Text + "</TD>";
            str += "  <TD warp=false class='GroupTitle' nowrap >降低值</TD>";
            str += "  <TD warp=false class='GroupTitle' nowrap >降低比例%</TD>";
            str += "</TR>";

            int idx = 0;

            foreach (Entity en in ensOfGroup)
            {
                bool isHave = false;
                foreach (DataRow dr in dt1.Rows)
                {
                    string kv = dr[0].ToString();
                    if (en.GetValStringByKey(attr.UIRefKeyValue) == kv)
                    {
                        isHave = true;
                        break;
                    }
                }
                if (isHave == false)
                {
                    continue;  // 不存在这个值 就continue;
                }
                idx++;
                str += "<TR >";
                str += "  <TD warp=false class='Idx' nowrap >" + idx.ToString() + "</TD>";
                str += "  <TD warp=false class='TD' nowrap >" + en.GetValStringByKey(attr.UIRefKeyText) + "</TD>";
                decimal num1 = 0;
                decimal num2 = 0;
                foreach (DataRow dr1 in dt1.Rows)
                {
                    string kv = dr1[0].ToString();  //循环到值 。
                    if (en.GetValStringByKey(attr.UIRefKeyValue) != kv)
                    {
                        continue;
                    }

                    num1   = decimal.Parse(dr1[2].ToString());
                    num2   = 0;
                    str   += "  <TD warp=false class='TDNum' nowrap ><a href=\"javascript:WinOpen('" + url + "&" + this.DDL_D.SelectedItemStringVal + "=" + dr1[0].ToString() + "&" + this.DDL_Num.SelectedItemStringVal + "=" + this.DDL_V1.SelectedItemStringVal + "')\"  >" + dr1[2].ToString() + "</a></TD>"; // 时间段1值.
                    isHave = false;
                    foreach (DataRow dr2 in dt2.Rows)
                    {
                        num2 = decimal.Parse(dr2[2].ToString());
                        if (dr2[0].ToString() == en.GetValStringByKey(attr.UIRefKeyValue))
                        {
                            isHave = true;
                            decimal cz = num1 - num2;
                            str += "  <TD warp=false class='TDNum' nowrap ><a href=\"javascript:WinOpen('" + url + "&" + this.DDL_D.SelectedItemStringVal + "=" + dr2[0].ToString() + "&" + this.DDL_Num.SelectedItemStringVal + "=" + this.DDL_V2.SelectedItemStringVal + "')\"  >" + num2.ToString() + "</a></TD>"; // 时间段1值.
                            str += "  <TD warp=false class='TDNum' nowrap >" + cz + "</TD>";                                                                                                                                                                                                                          // 降低数.
                            break;
                        }
                    }
                    if (isHave == false)
                    {
                        num2 = 0;
                        str += "  <TD warp=false class='TDNum' nowrap >0</TD>";            // 时间段1值.
                        str += "  <TD warp=false class='TDNum' nowrap >" + num1 + "</TD>"; // 降低数.
                    }
                }
                if (num1 == 0)
                {
                    str += "  <TD warp=false class='TDNum' nowrap >0.00</TD>";
                }
                else
                {
                    decimal fz   = decimal.Parse(num1.ToString()) - decimal.Parse(num2.ToString());
                    decimal fm   = decimal.Parse(num1.ToString());
                    decimal rate = fz / fm * 100;
                    str += "  <TD warp=false class='TDNum' nowrap >" + rate.ToString("0.00") + "</TD>";
                }
                str += "</TR>";
            }
            str += "</Table>";
            this.Right.Add(str);
        }