/// <summary> /// 将工作站状态绑定到lue上。 /// </summary> /// <param name="lueControl"></param> public static void FillLueWorkStationStauts(DevExpress.XtraEditors.LookUpEdit lueControl) { //设置显示格式和字段 lueControl.Properties.Appearance.Font = new System.Drawing.Font("SimSun", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); lueControl.Properties.Appearance.Options.UseFont = true; lueControl.Properties.AppearanceDropDown.Font = new System.Drawing.Font("SimSun", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lueControl.Properties.AppearanceDropDown.Options.UseFont = true; lueControl.Properties.Columns.Clear(); lueControl.Properties.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] { new DevExpress.XtraEditors.Controls.LookUpColumnInfo("F_VALUE", "编码") , new DevExpress.XtraEditors.Controls.LookUpColumnInfo("F_DISPLAY", "状态") }); lueControl.Properties.DisplayMember = "F_DISPLAY"; lueControl.Properties.ValueMember = "F_VALUE"; lueControl.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; lueControl.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; ProxyBllCommon bllCommon = new ProxyBllCommon(); //获得数据集 DataSet dsTable = bllCommon.GetLookUpEditDataSet("T_SYSTEM_LIST", "F_TYPE='F_WORKSTATION_STATUS'"); //有数据情况下绑定 if (dsTable != null && dsTable.Tables.Count > 0) { lueControl.Properties.DataSource = dsTable.Tables[0]; } }
/// <summary> /// 创建LookUpEdit /// </summary> /// <param name="lueControl">控件名称</param> /// <param name="tableName">表名</param> /// <param name="valueMember">代码字段</param> /// <param name="valueName">代码字段标题</param> /// <param name="displayMember">显示内容字段</param> /// <param name="condition">显示内容标题</param> /// <returns></returns> public static void GetLookUpEditControl(LookUpEdit lueControl, string tableName, string valueMember, string valueName, string displayMember, string displayName, string condition) { //设置显示格式和字段 lueControl.Properties.Appearance.Font = new System.Drawing.Font("SimSun", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(134))); lueControl.Properties.Appearance.Options.UseFont = true; lueControl.Properties.AppearanceDropDown.Font = new System.Drawing.Font("SimSun", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); lueControl.Properties.AppearanceDropDown.Options.UseFont = true; lueControl.Properties.Columns.Clear(); lueControl.Properties.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] { new DevExpress.XtraEditors.Controls.LookUpColumnInfo(valueMember, valueName) , new DevExpress.XtraEditors.Controls.LookUpColumnInfo(displayMember, displayName) }); lueControl.Properties.DisplayMember = displayMember; lueControl.Properties.ValueMember = valueMember; lueControl.Properties.TextEditStyle = TextEditStyles.DisableTextEditor; lueControl.Properties.NullText = ""; ProxyBllCommon bllCommon = new ProxyBllCommon(); //获得数据集 DataSet dsTable = bllCommon.GetLookUpEditDataSet(tableName, condition); //有数据情况下绑定 if (dsTable != null && dsTable.Tables.Count > 0) { lueControl.Properties.DataSource = dsTable.Tables[0]; } }
/// <summary> /// 创建RepositoryItemLookUpEdit /// </summary> /// <param name="tableName">表名</param> /// <param name="valueMember">主键字段</param> /// <param name="displayMember"></param> /// <param name="condition"></param> /// <returns></returns> public static DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit GetRepositoryItemLookUpEditControl(string tableName, string valueMember, string displayMember, string condition) { DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit repositoryItemLookUpEdit = new DevExpress.XtraEditors.Repository.RepositoryItemLookUpEdit(); repositoryItemLookUpEdit.Appearance.Font = new System.Drawing.Font("SimSun", 10.5F, System.Drawing.FontStyle.Regular, System.Drawing.GraphicsUnit.Point, ((byte)(0))); repositoryItemLookUpEdit.Appearance.Options.UseFont = true; repositoryItemLookUpEdit.AutoHeight = false; repositoryItemLookUpEdit.Buttons.AddRange(new DevExpress.XtraEditors.Controls.EditorButton[] { new DevExpress.XtraEditors.Controls.EditorButton(DevExpress.XtraEditors.Controls.ButtonPredefines.Combo) }); repositoryItemLookUpEdit.Columns.AddRange(new DevExpress.XtraEditors.Controls.LookUpColumnInfo[] { new DevExpress.XtraEditors.Controls.LookUpColumnInfo(displayMember, displayMember), new DevExpress.XtraEditors.Controls.LookUpColumnInfo(valueMember, valueMember) }); ProxyBllCommon bllCommon = new ProxyBllCommon(); DataSet dsTable = bllCommon.GetLookUpEditDataSet(tableName, condition); if (dsTable != null && dsTable.Tables.Count > 0) { repositoryItemLookUpEdit.DataSource = dsTable.Tables[0]; } repositoryItemLookUpEdit.DisplayMember = displayMember; repositoryItemLookUpEdit.ValueMember = valueMember; //默认显示内容 repositoryItemLookUpEdit.NullText = ""; return(repositoryItemLookUpEdit); }
/// <summary> /// 提交任务按钮事件 /// </summary> /// <param name="sender"></param> /// <param name="e"></param> private void btnSubmit_Click(object sender, EventArgs e) { //只有在试验任务基础信息、试验样品信息、试验参数信息三部分的数据均保存到相应的数据表后,方可执行提交操作 //提交操作根据3个数据表的内容生成上位机运行所需的数据文件 //试验任务基础信息保存到T_TEST_INFO //试验样品信息保存到T_TEST_SAMPLE_INFO //试验参数信息保存到T_TEST_PAR_VALUE_KHD //首先判断试验任务编号数据项是否为空,如果为空,不可执行提交操作 if (txtTaskId.Text.Trim().Equals("")) { MessageBox.Show("请选择需要执行提交操作的任务编号!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } string now_taskid = txtTaskId.Text; //判断now_taskid任务编号的数据是否保存完整; //T_TEST_INFO、T_TEST_SAMPLE_INFO、T_TEST_PAR_VALUE_KHD中均存在该任务编号的数据 ProxyBllTEST_INFO bllTestInfo = new ProxyBllTEST_INFO(); DataSet dsTaskId = bllTestInfo.GetList(" F_TEST_TASK_ID='" + now_taskid + "' "); if (dsTaskId == null || dsTaskId.Tables[0].Rows.Count == 0) { MessageBox.Show("任务编号:" + now_taskid + "的试验任务基础信息不存在,请先录入并保存改任务编号的试验任务基础信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } ProxyBllTEST_SAMPLE_INFO bllTestSampleInfo = new ProxyBllTEST_SAMPLE_INFO(); dsTaskId = bllTestSampleInfo.GetList(" F_TEST_TASK_ID='" + now_taskid + "' "); if (dsTaskId == null || dsTaskId.Tables[0].Rows.Count == 0) { MessageBox.Show("任务编号:" + now_taskid + "的试验样品信息不存在,请先录入并保存改任务编号的试验样品信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } ProxyBllTEST_PAR_VALUE_KHD bllTestParValue = new ProxyBllTEST_PAR_VALUE_KHD(); dsTaskId = bllTestParValue.GetList(" F_TASK_ID='" + now_taskid + "' "); if (dsTaskId == null || dsTaskId.Tables[0].Rows.Count == 0) { MessageBox.Show("任务编号:" + now_taskid + "的试验参数信息不存在,请先录入并保存改任务编号的试验参数信息!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //执行提交任务操作,生成试验任务相关数据的access文件 //判断access模板文件夹是否存在 if (Directory.Exists("DataFile") == false)//如果不存在就创建file文件夹 { MessageBox.Show("Access模板文件夹不存在,请检查模板文件夹DataFile是否存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } else { //判断模板文件是否存在Template.mdb if (File.Exists("DataFile/Template.mdb") == false) { MessageBox.Show("Access模板文件不存在,请检查模板文件Template.mdb是否存在!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); return; } //判断当前任务编号的access数据文件是否存在;如果存在,删除原有任务文件,按当前oracle数据库数据,生成新的access数据文件 if (File.Exists("DataFile/" + now_taskid + ".mdb") == true) { File.Delete("DataFile/" + now_taskid + ".mdb"); File.Delete("DataFile/" + now_taskid + ".ldb"); } FrmSubmitPrompt frm = new FrmSubmitPrompt(); frm.Show(); frm.Refresh(); File.Copy("DataFile/Template.mdb", "DataFile/" + now_taskid + ".mdb"); string mdbpath = "DataFile/" + now_taskid + ".mdb"; ProxyBllCommon proxyBllCommon = new ProxyBllCommon(); //导出试验任务基本信息到access文件中 proxyBllCommon.FillAccessTableFromOracle("T_TEST_INFO", " F_TEST_TASK_ID='" + now_taskid + "' ", mdbpath); //导出试验任务样品信息到access文件中 proxyBllCommon.FillAccessTableFromOracle("T_TEST_SAMPLE_INFO", " F_TEST_TASK_ID='" + now_taskid + "' ", mdbpath); //导出试验任务参数信息到access文件中 proxyBllCommon.FillAccessTableFromOracle("T_TEST_PAR_VALUE_KHD", " F_TASK_ID='" + now_taskid + "' ", mdbpath); //将生成的access文件写入oracle数据库中 if (saveMDBToOacle(mdbpath, now_taskid)) { frm.Close(); MessageBox.Show("试验任务信息提交完成!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Information); initData(); BindGridview(); string tempstr = "";; for (int i = 0; i < lstTasklist.ItemCount; i++) { tempstr = lstTasklist.Items[i].ToString(); if (tempstr.Substring(0, tempstr.IndexOf("_")).Equals(now_taskid)) { lstTasklist.SelectedIndex = i; break;; } } return; } else { MessageBox.Show("将试验信息Access文件写入Oracle时错误!", "提示", MessageBoxButtons.OK, MessageBoxIcon.Error); return; } } }