diff --git a/Forms/FrmPipelineModelDataBase.cs b/Forms/FrmPipelineModelDataBase.cs index f265e7e..da21f8d 100644 --- a/Forms/FrmPipelineModelDataBase.cs +++ b/Forms/FrmPipelineModelDataBase.cs @@ -35,6 +35,7 @@ /// private void FrmPipelineModel_Load(object sender, EventArgs e) { + // 加载窗口 buttonOpen.Visible = isSh; string pipelinetype = Utility.pipelinetype; string[] pipelinetypes = pipelinetype.Split(','); @@ -103,6 +104,7 @@ private void btnCreateModel_Click(object sender, EventArgs e) //建模 { + // 点击确定 if (!invalidate()) return; try @@ -134,6 +136,11 @@ lineParam.startDepthFieldName = checkBoxDeep.Checked ? cmbFrom.Text : startH.Text; lineParam.endDepthFieldName = checkBoxDeep.Checked ? cmbTo.Text : endH.Text; lineParam.isRevert = chkDeep.Checked; + if(cmbRadius.Text.ToString() == "") + { + MessageBox.Show("管径不能为空!", "提示"); + return; + } lineParam.diameterFieldName = cmbRadius.Text; lineParam.relativeMode = (cmbReference.Text == "管顶") ? 0 : 1; lineParam.lineColor = btnPipelineColor.BackColor; @@ -228,13 +235,21 @@ cmbID.SelectedItem = "编号"; cmbFrom.SelectedItem = "起始埋深"; cmbTo.SelectedItem = "终止埋深"; - cmbRadius.SelectedItem = "管径"; + if (cmbRadius.Items.Contains("管径")) + { + cmbRadius.SelectedItem = "管径"; + } + else if (cmbRadius.Items.Contains("沟道高")) + { + cmbRadius.SelectedItem = "沟道高"; + } comboBoxExHeight.SelectedItem = "沟道高"; comboBoxExWidth.SelectedItem = "沟道宽"; } private void comboBoxExLayer_SelectedIndexChanged(object sender, EventArgs e) { + // shapefile图层下拉框发生变化时 if (comboBoxExLayer.SelectedIndex == -1) return; @@ -253,12 +268,20 @@ GSOFieldDefn fielddef = features[0].GetFieldDefn(i); addComboboxParam(fielddef.Name); } + + //根据shapefile图层来确定管线图层类型 + //当管线类型图层shapefile图层字符串 包含 管线类型图层的某一个item时 则赋值 for (int i = 0; i < pipelineTypeCbo.Items.Count; i++) { if (comboBoxExLayer.Text.Contains(pipelineTypeCbo.Items[i].ToString())) pipelineTypeCbo.Text = pipelineTypeCbo.Items[i].ToString(); } + //如果经过上面的循环,管线类型图层依然为空,且导入的涂层时电信、移动、联通、信号的一种时,管线类型图层 赋值 “通信” + if (pipelineTypeCbo.Text.ToString() == "" && comboBoxExLayer.Text.Contains("电信")|| comboBoxExLayer.Text.Contains("信号")|| comboBoxExLayer.Text.Contains("移动") || comboBoxExLayer.Text.Contains("联通")) { + pipelineTypeCbo.Text = "通信"; + } + initComboboxParam(); } @@ -371,6 +394,7 @@ private void buttonOpen_Click(object sender, EventArgs e) { + // 打开文件 OpenFileDialog dlg = new OpenFileDialog(); dlg.Filter = "*.shp|*.shp"; dlg.Multiselect = false;