159 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
			
		
		
	
	
			159 lines
		
	
	
		
			5.5 KiB
		
	
	
	
		
			C#
		
	
	
	
	
	
| using DrawGraph;
 | |
| using System;
 | |
| using System.Windows.Forms;
 | |
| 
 | |
| namespace DrawGraphManagement.MyUserControl
 | |
| {
 | |
|     public partial class ConvertModeForm : Form
 | |
|     {
 | |
|         PackObjBase mappingObj = null;
 | |
|         Control conl = null;
 | |
|  
 | |
|         public ConvertModeForm()
 | |
|         {
 | |
|             InitializeComponent();
 | |
|         }
 | |
| 
 | |
|         public ConvertModeForm(PackObjBase _mappingObj,Control _conl)
 | |
|         {
 | |
|             InitializeComponent();
 | |
|             mappingObj = _mappingObj;
 | |
|             conl = _conl;
 | |
| 
 | |
|         }
 | |
|         private void ConvertModeForm_Load(object sender, EventArgs e)
 | |
|         {
 | |
|             if (mappingObj == null) {
 | |
|                 MessageBox.Show("没有详细的映射对象");
 | |
|                 this.Close();
 | |
|                 return;
 | |
|             }
 | |
|             //转换模式的绑定
 | |
|             this.cmbConvertMode.SelectedIndexChanged -= new System.EventHandler(this.cmbConvertMode_SelectedIndexChanged);
 | |
|             cmbConvertMode.DataSource = System.Enum.GetNames(typeof(EConvertMode));
 | |
|             cmbConvertMode.Text = mappingObj.ConvertMode.ToString();
 | |
|             labTitle.Text = mappingObj.Descript;
 | |
|             this.cmbConvertMode.SelectedIndexChanged += new System.EventHandler(this.cmbConvertMode_SelectedIndexChanged);
 | |
|             cmbConvertMode_SelectedIndexChanged(null, null);
 | |
| 
 | |
|             ///rihCodes.DataBindings.Add("text",mappingObj, "CodeConvertText");
 | |
|         }
 | |
| 
 | |
|         private void cmbConvertMode_SelectedIndexChanged(object sender, EventArgs e)
 | |
|         {
 | |
|             string convertValue = cmbConvertMode.Text.Trim();
 | |
| 
 | |
|             if (convertValue == "") {
 | |
|                 return;
 | |
|             }
 | |
|             mappingObj.ConvertMode = (convertValue == EConvertMode.NoConvert.ToString())? EConvertMode.NoConvert :EConvertMode.NoConvert;
 | |
|             foreach (Control conl in tabControl1.Controls)
 | |
|             {
 | |
|                 conl.Enabled = false;
 | |
|             }
 | |
|             if (convertValue != "") {
 | |
|                 Control[] conls = tabControl1.Controls.Find("tab" + convertValue, false);
 | |
|                 if(conls.Length > 0){
 | |
|                     conls[0].Enabled = true;
 | |
|                     tabControl1.SelectedTab = conls[0] as TabPage;
 | |
|                 }
 | |
|                 //更新码表控件组
 | |
|                 CreateCodeTableControls();
 | |
|             }
 | |
|         }
 | |
| 
 | |
|         /// <summary>
 | |
|         /// 新增加一个码表项
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         private void button1_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             mappingObj.CodeTableItems.Add(new CodeTableItem());
 | |
| 
 | |
|             CreateCodeTableControls();
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 建立码表控件组
 | |
|         /// </summary>
 | |
|         private void CreateCodeTableControls()
 | |
|         {
 | |
|             pnlCodeTable.Controls.Clear();
 | |
|             
 | |
|             for (int i = 0; i < mappingObj.CodeTableItems.Count; i++)
 | |
|             {
 | |
|                 CodeTableItem item = mappingObj.CodeTableItems[i];
 | |
|                 //增加列名
 | |
|                 TextBox txb = new TextBox();
 | |
|                 txb.AutoSize = true;
 | |
|                 int y = 26 * i + 10;
 | |
|                 txb.Location = new System.Drawing.Point(labSrcCodeTableVal.Location.X, y);
 | |
|                 txb.Size = new System.Drawing.Size(113, 21);
 | |
|                 txb.TabIndex = 0;
 | |
|                 txb.BringToFront();
 | |
|                 txb.DataBindings.Add("text", item,"SrcVal");
 | |
|                 pnlCodeTable.Controls.Add(txb);
 | |
| 
 | |
|                 //增加列描述
 | |
|                 txb = new TextBox();
 | |
|                 txb.AutoSize = true;
 | |
|                 txb.Location = new System.Drawing.Point(labDescCodeTableVal.Location.X, y);
 | |
|                 txb.Size = new System.Drawing.Size(113, 21);
 | |
|                 txb.TabIndex = 0;
 | |
|                 txb.DataBindings.Add("text", item, "DescVal");
 | |
|                 txb.BringToFront();
 | |
|                 pnlCodeTable.Controls.Add(txb);
 | |
| 
 | |
|                 //增加操作按钮
 | |
|                 Button btn = new Button();
 | |
|                 btn.Location = new System.Drawing.Point(labCZ.Location.X, y);
 | |
|                 btn.Size = new System.Drawing.Size(75, 20);
 | |
|                 btn.TabIndex = 29;
 | |
|                 btn.Text = "删除";
 | |
|                 btn.UseVisualStyleBackColor = true;
 | |
|                 btn.Tag = item;
 | |
|                 btn.Click += new System.EventHandler(btnDel_Click);
 | |
|                 btn.BringToFront();
 | |
|                 pnlCodeTable.Controls.Add(btn);
 | |
| 
 | |
|             }
 | |
|         }
 | |
|         /// <summary>
 | |
|         /// 删除一个码表项
 | |
|         /// </summary>
 | |
|         /// <param name="sender"></param>
 | |
|         /// <param name="e"></param>
 | |
|         private void btnDel_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //查询一条记录下的一个字段的值
 | |
|             Button btn = sender as Button;
 | |
|             if (btn != null)
 | |
|             {
 | |
|                 CodeTableItem item = btn.Tag as CodeTableItem;
 | |
|                 mappingObj.CodeTableItems.Remove(item);
 | |
|             }
 | |
| 
 | |
|             CreateCodeTableControls();
 | |
|         }
 | |
| 
 | |
|         private void button2_Click(object sender, EventArgs e)
 | |
|         {
 | |
|             //CodeMaintenanceForm form = new CodeMaintenanceForm();
 | |
|             //form.ShowDialog();
 | |
|         }
 | |
| 
 | |
|         private void ConvertModeForm_FormClosing(object sender, FormClosingEventArgs e)
 | |
|         {            
 | |
|             if (conl != null) {
 | |
|                 //if (mappingObj.ConvertMode != ConvertModeEnum.NoConvert.ToString())
 | |
|                 //{
 | |
|                 //    conl.ForeColor = Color.Red;
 | |
|                 //}
 | |
|                 //else {
 | |
|                 //    conl.ForeColor = Color.Black;
 | |
|                 //}
 | |
|             }
 | |
|         }
 | |
|     }
 | |
| }
 |