private void gvydfdj_DoubleClick(object sender, EventArgs e) { bflag.Ss = false; DataRow drfdj = this.gvydfdj.GetFocusedDataRow(); if (drfdj != null) { string jglxsz; string cxsz; string lnqksz; double llsz; double jzmj; //string lxsz; double lcsz; double zlc; //string wyglsz; //string fssz; //string gtsz; //string ywdt; #region 非单家 ydfdjdata tmpydfdjdata = new ydfdjdata(); double dj; if (double.TryParse(drfdj["单价"].ToString(), out dj)) { bflag.Dj = dj; } else { MessageBox.Show("请检查所选择的行对应的单价数据的正确性!", "提示:"); return; } if (drfdj["样点来源"].ToString().Trim() != "评估样点") { return; } if (double.TryParse(drfdj["建筑面积"].ToString(), out jzmj)) { } else { if (double.TryParse(drfdj["套内面积"].ToString(), out jzmj)) { } } if (jzmj <= 0) { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的建筑面积或套内面积!", drfdj["序号"].ToString())); return; } jglxsz = drfdj["结构"].ToString(); cxsz = drfdj["朝向"].ToString(); lnqksz = drfdj["临路情况"].ToString(); if (double.TryParse(drfdj["楼龄"].ToString(), out llsz)) { } else { //SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的楼龄!", drfdj["序号"].ToString())); //return; } tmpydfdjdata.Cxsz = cxsz; tmpydfdjdata.Jglxsz = jglxsz; tmpydfdjdata.Jzmj = jzmj; tmpydfdjdata.Llsz = llsz; tmpydfdjdata.Lnqksz = lnqksz; //string lxsz; //double lcsz; //double zlc; //string wyglsz; //string fssz; //string gtsz; //string ywdt; tmpydfdjdata.Lxsz = drfdj["楼型"].ToString(); if (double.TryParse(drfdj["所处楼层"].ToString(), out lcsz)) { tmpydfdjdata.Lcsz = lcsz; } if (double.TryParse(drfdj["总楼层"].ToString(), out zlc)) { tmpydfdjdata.Zlc = zlc; } tmpydfdjdata.Wyglsz = drfdj["物业"].ToString(); tmpydfdjdata.Fssz = drfdj["复式"].ToString(); tmpydfdjdata.Gtsz = drfdj["公摊"].ToString(); tmpydfdjdata.Ywdt = drfdj["有无电梯"].ToString(); EvaluateYd(tmpydfdjdata, yd); if (yd != null) { drfdj["标准价格"] = yd.Calu(bflag).ToString("#"); try { drfdj["总价"] = (dj * double.Parse(drfdj["建筑面积"].ToString())).ToString("#"); } catch { try { drfdj["总价"] = (dj * double.Parse(drfdj["套内面积"].ToString())).ToString("#"); } catch { } } } #endregion } }
private void EvaluateFdjYddata() { string jglxsz; string cxsz; string lnqksz; double llsz; double jzmj; //string lxsz; double lcsz; double zlc; //string wyglsz; //string fssz; //string gtsz; //string ywdt; #region 非单家 bflag.Ss = true; ydfdjdata tmpydfdjdata = new ydfdjdata(); DataTable dtfdj = m_dstAll.Tables["yw_ydfdj"]; if (dtfdj.Rows.Count > 0) { for (int i = 0; i < dtfdj.Rows.Count; i++) { if (dtfdj.Rows[i]["样点来源"].ToString().Trim() != "评估样点") { continue; } if (double.TryParse(dtfdj.Rows[i]["建筑面积"].ToString(), out jzmj)) { } else { if (double.TryParse(dtfdj.Rows[i]["套内面积"].ToString(), out jzmj)) { } } if (jzmj <= 0) { SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的建筑面积或套内面积!", dtfdj.Rows[i]["序号"].ToString())); return; } jglxsz = dtfdj.Rows[i]["结构"].ToString(); cxsz = dtfdj.Rows[i]["朝向"].ToString(); lnqksz = dtfdj.Rows[i]["临路情况"].ToString(); if (double.TryParse(dtfdj.Rows[i]["楼龄"].ToString(), out llsz)) { } else { //SkyMap.Net.Gui.MessageHelper.ShowInfo(String.Format("请输入样点{0}的楼龄!", dtfdj.Rows[i]["序号"].ToString())); //return; } tmpydfdjdata.Cxsz = cxsz; tmpydfdjdata.Jglxsz = jglxsz; tmpydfdjdata.Jzmj = jzmj; tmpydfdjdata.Llsz = llsz; tmpydfdjdata.Lnqksz = lnqksz; //string lxsz; //double lcsz; //double zlc; //string wyglsz; //string fssz; //string gtsz; //string ywdt; tmpydfdjdata.Lxsz = dtfdj.Rows[i]["楼型"].ToString(); if (double.TryParse(dtfdj.Rows[i]["所处楼层"].ToString(), out lcsz)) { tmpydfdjdata.Lcsz = lcsz; } if (double.TryParse(dtfdj.Rows[i]["总楼层"].ToString(), out zlc)) { tmpydfdjdata.Zlc = zlc; } tmpydfdjdata.Wyglsz = dtfdj.Rows[i]["物业"].ToString(); tmpydfdjdata.Fssz = dtfdj.Rows[i]["复式"].ToString(); tmpydfdjdata.Gtsz = dtfdj.Rows[i]["公摊"].ToString(); tmpydfdjdata.Ywdt = dtfdj.Rows[i]["有无电梯"].ToString(); EvaluateYd(tmpydfdjdata, yd); if (yd != null) { dtfdj.Rows[i]["单价"] = yd.Calu().ToString("#"); try { dtfdj.Rows[i]["总价"] = (yd.Calu() * double.Parse(dtfdj.Rows[i]["建筑面积"].ToString())).ToString("#"); } catch { try { dtfdj.Rows[i]["总价"] = (yd.Calu() * double.Parse(dtfdj.Rows[i]["套内面积"].ToString())).ToString("#"); } catch { } } } } } #endregion }