private void sbGetMoc_Click(object sender, EventArgs e) { string mocNo = textEdit1.Text; if (textEdit1.Text.IndexOf("-") < 0) { MessageBox.Show("請輸入正確的製令單號" + Environment.NewLine + "Ex : A511-20180500001"); return; } SplashScreenManager.ShowDefaultWaitForm(); clearAllMocCacheDtAndTreeList(); DataTable sourceDt = MvDbDao.collectData_Moc(mocNo); // copy to cacheDt if (cacheMocDt != null) { cacheMocDt.Clear(); } cacheMocDt = sourceDt.Copy(); treeList4.DataSource = sourceDt; // 不開放編輯功能 treeList4.OptionsBehavior.ReadOnly = true; treeList4.OptionsBehavior.Editable = false; xtraTabControl1.TabPages[3].Text = "製令_" + mocNo; xtraTabControl1.SelectedTabPage = xtraTabControl1.TabPages[3]; SplashScreenManager.CloseForm(false); }
private void sbtnGet_Click(object sender, EventArgs e) { DataTable dt = new DataTable(); dt = MvDbDao.collectData_PurP17_VB6("20180508"); treeList1.DataSource = dt; }
private void sbGetSumByOrderType_Click(object sender, EventArgs e) { if (deStart.Text.Length == 0 || deEnd.Text.Length == 0) { MessageBox.Show("請先選取日期區間"); return; } // 判斷start date 不能比end date晚 DateTime dStart = DateTime.Parse(deStart.Text); DateTime dEnd = DateTime.Parse(deEnd.Text); if (DateTime.Compare(dStart, dEnd) > 0) { MessageBox.Show("起始日不可大於結束日"); return; } // 判斷區間不要超過一個月 TimeSpan ts = dEnd - dStart; int differenceInDays = ts.Days; if (differenceInDays > 180) { MessageBox.Show("日期區間請不要超過6個月"); return; } // 判斷單別必需要有值 if (cboOrderType.Text.Length == 0) { MessageBox.Show("請選取單別"); return; } // 清除grid controll 資料 gridControl1.DataSource = null; gridControl1.DataBindings.Clear(); gridControl1.RefreshDataSource(); gridView1.Columns.Clear(); gridView1.RefreshData(); // show wait process SplashScreenManager.ShowDefaultWaitForm(); // 取得單別的統計資料 DataTable dt = null; dt = MvDbDao.collectData_GetOrderTypeSummary(cboOrderType.Text, deStart.Text, deEnd.Text); if (dt == null) { MessageBox.Show("此單別尚未列入計算清單內, 或是該單別為已停用單別"); return; } gridControl1.DataSource = dt; // close Wait Form SplashScreenManager.CloseForm(false); }
private void frmTestParser_Load(object sender, EventArgs e) { // 第一次取得BomList DataTable tmpDt = null; tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt.Copy(); cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; // 調整GridControl 為不可編輯 gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.RefreshData(); // 第一次取得單別 tmpDt = MvDbDao.collectData_Cmsmq(); cboOrderType.DataSource = tmpDt.Copy(); cboOrderType.ValueMember = "MQ001"; cboOrderType.DisplayMember = "MQ001"; cboOrderType.Text = ""; cboOrderType.SelectedValue = ""; deStart.Properties.DisplayFormat.FormatString = "yyyy/MM/dd"; deEnd.Properties.DisplayFormat.FormatString = "yyyy/MM/dd"; deStart.DateTime = DateTime.Today; deEnd.DateTime = DateTime.Today; }
private void sbCheckInvmb_Click(object sender, EventArgs e) { string[] tmpString = new string[3]; tmpString[0] = "123"; tmpString[1] = "1231"; tmpString[2] = "1234"; bool result = MvDbDao.checkData_hasIllegalItemInInvmb(tmpString); MessageBox.Show("resut is " + result); }
private async void btnGetPortsFromDB_Click(object sender, EventArgs e) { clearAllText(); MvItCiscoBo bo = new MvItCiscoBo(); SplashScreenManager.ShowDefaultWaitForm(); DataTable dt = null; DataTable dtFromCisco = null; gridControl1.DataSource = null; gridControl1.DataBindings.Clear(); gridControl1.RefreshDataSource(); gridView1.Columns.Clear(); gridView1.RefreshData(); dt = MvDbDao.collectData_ItNetworkDevice(); dt.Columns.Remove("SN"); dt.Columns.Add("IsInCisco"); //dtFromCisco = await bo.getStatusTableIncludeMacAddress(new string[] { "192.168.151.11" }); dtFromCisco = await bo.getStatusTableIncludeMacAddress(GlobalConstant.MvMisCiscoIpList); Hashtable cacheResult = new Hashtable(); string matchKey = string.Empty; // 將Cisco 資料放入HashTable foreach (DataRow drFromCisco in dtFromCisco.Rows) { matchKey = string.Format("{0}{1}{2}{3}", drFromCisco["IP"], drFromCisco["Port"], drFromCisco["MacAddress"], drFromCisco["Name"]); cacheResult.Add(matchKey, true); } matchKey = string.Empty; foreach (DataRow dr in dt.Rows) { matchKey = string.Format("{0}{1}{2}{3}", dr["DeviceIP"], dr["Port"], dr["Mac"], dr["No"]); if (cacheResult.Contains(matchKey) == true) { dr["IsInCisco"] = "V"; } } gridView1.Columns.Clear(); gridControl1.DataSource = dt; gridView1.OptionsBehavior.Editable = false; gridControl1.RefreshDataSource(); gridView1.RefreshData(); SplashScreenManager.CloseForm(false); }
private void sbQuery_Click(object sender, EventArgs e) { _MajorDt = null; // 判斷日期 if (deStart.Text.Length == 0 || deEnd.Text.Length == 0) { MessageBox.Show("請先選取日期區間"); return; } // 判斷start date 不能比end date晚 DateTime dStart = DateTime.Parse(deStart.Text); DateTime dEnd = DateTime.Parse(deEnd.Text); if (DateTime.Compare(dStart, dEnd) > 0) { MessageBox.Show("起始日不可大於結束日"); return; } // 判斷區間不要超過一個月 TimeSpan ts = dEnd - dStart; int differenceInDays = ts.Days; if (differenceInDays > 180) { MessageBox.Show("日期區間請不要超過180天"); return; } try { using (SqlConnection connection = MvDbConnector.getErpDbConnection(MvCompanySite.MACHVISION)) { connection.Open(); //_majorDt = MvDbDao.CollectData_CustomerOrder(connection, _customerOrderTypes, "20200125", "20200523"); _MajorDt = MvDbDao.CollectData_CustomerOrder(connection, _CustomerOrderTypes, deStart.DateTime.ToString("yyyyMMdd"), deEnd.DateTime.ToString("yyyyMMdd")); } } catch (SqlException) { MessageBox.Show("Cant fetch data from ERP, Please inform MIS to check this issue"); return; } gridControl1.DataSource = _MajorDt; gridView1.OptionsBehavior.Editable = false; gridView1.RefreshData(); }
private void btnGetBomList_Click(object sender, EventArgs e) { DataTable tmpDt = null; tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; BomView.Columns.Add("BomId"); BomView.Columns.Add("BomName"); BomView.View = View.Details; enableObject(true, false); btnGetBomList.Visible = false; }
private void sbBomP07_Click(object sender, EventArgs e) { string bomId = "21506066V01"; //bomId = "21511015V02"; // show wait process SplashScreenManager.ShowDefaultWaitForm(); DataTable dt = new DataTable(); //dt = MvDbDao.collectData_BomP07_VB6(bomId, false); dt = MvDbDao.collectData_BomP07_Thin(bomId); gridControl1.DataSource = dt; //Close Wait Form SplashScreenManager.CloseForm(false); }
private void sbtnGet_Click(object sender, EventArgs e) { string mocNo = textEdit1.Text; if (textEdit1.Text.IndexOf("-") < 0) { MessageBox.Show("請輸入正確的製令單號" + Environment.NewLine + "Ex : A511-20180500001"); return; } SplashScreenManager.ShowDefaultWaitForm(); DataTable sourceDt = MvDbDao.collectData_Moc(mocNo); treeList1.DataSource = sourceDt; // 不開放編輯功能 treeList1.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; treeList1.OptionsView.AutoWidth = false; // 只要最後一列設定BestFit即可 treeList1.Columns[treeList1.Columns.Count - 1].BestFit(); SplashScreenManager.CloseForm(false); }
private void sbQueryUser_Click(object sender, EventArgs e) { if (deStart.Text.Length == 0 || deEnd.Text.Length == 0) { MessageBox.Show("請先選取日期區間"); return; } // 判斷start date 不能比end date晚 DateTime dStart = DateTime.Parse(deStart.Text); DateTime dEnd = DateTime.Parse(deEnd.Text); if (DateTime.Compare(dStart, dEnd) > 0) { MessageBox.Show("起始日不可大於結束日"); return; } // 判斷區間不要超過一個月 TimeSpan ts = dEnd - dStart; int differenceInDays = ts.Days; if (differenceInDays > 31) { MessageBox.Show("日期區間請不要超過1個月"); return; } _majorDt = null; _majorDt = MvDbDao.collectData_ItMxMail_20190904(deStart.Text, deEnd.Text); gridControl1.DataSource = _majorDt; hideGridViewForAll(ref gridView1); showGridViewForQuery(ref gridView1); gridView1.OptionsBehavior.Editable = false; gridView1.RefreshData(); }
private void sbCreateA121_Click(object sender, EventArgs e) { DataTable majorData = null; StringBuilder sb = new StringBuilder(); //using (TransactionScope scope = new TransactionScope()) //{ // SqlConnection connection = MvDbConnector.Connection_ERPDB2_Dot_MVTEST; // SqlCommand command = connection.CreateCommand(); // try // { // command.CommandTimeout = 3; // connection.Open(); // // 新增INVTA // sb.AppendLine(string.Format(@"SELECT TOP 0 * from MVTEST.dbo.INVTA")); // command.CommandText = sb.ToString(); // majorData = MvDbConnector.queryDataBySql(command); // //做完以後 // scope.Complete(); // } // catch (SqlException se) // { // //發生例外時,會自動rollback // throw se; // } // finally // { // command.Dispose(); // connection.Close(); // connection.Dispose(); // } //} // using sql bulkcopy DataRow dr = null; using (TransactionScope scope = new TransactionScope()) { SqlConnection connection = MvDbConnector.Connection_ERPDB2_Dot_MVTEST; try { connection.Open(); // Get Data schema INVTA sb.AppendLine(string.Format(@"SELECT TOP 0 * from MVTEST.dbo.INVTA")); majorData = MvDbConnector.queryDataBySql(connection, sb.ToString()); // add simulate data dr = MvDbDao.simulateData_INVTA(majorData); majorData.Rows.Add(dr); // use BulkCopy insert to DB using (SqlBulkCopy sbc = new SqlBulkCopy(connection)) { // set number of records to be processed sbc.BatchSize = 300; sbc.DestinationTableName = ErpTableName.INVTA.ToString(); // Add column mappings foreach (DataColumn column in majorData.Columns) { sbc.ColumnMappings.Add(new SqlBulkCopyColumnMapping(column.ColumnName, column.ColumnName)); } // write to server sbc.WriteToServer(majorData); } // Get Data schema INVTB sb.Clear(); sb.AppendLine(string.Format(@"SELECT TOP 0 * from MVTEST.dbo.INVTB")); majorData.Clear(); majorData.Columns.Clear(); majorData = MvDbConnector.queryDataBySql(connection, sb.ToString()); // add simulate data dr = MvDbDao.simulateData_INVTB(connection, majorData, "10101001"); majorData.Rows.Add(dr); // use BulkCopy insert to DB using (SqlBulkCopy sbc = new SqlBulkCopy(connection)) { // set number of records to be processed sbc.BatchSize = 300; sbc.DestinationTableName = ErpTableName.INVTB.ToString(); // Add column mappings foreach (DataColumn column in majorData.Columns) { sbc.ColumnMappings.Add(new SqlBulkCopyColumnMapping(column.ColumnName, column.ColumnName)); } // write to server sbc.WriteToServer(majorData); } scope.Complete(); } catch (SqlException se) { // 發生例外時,會自動rollback throw se; } finally { connection.Close(); connection.Dispose(); } } sb = null; }
private void sbParserRdDiffBomExcel_Click(object sender, EventArgs e) { gridControl1.DataSource = null; gridControl1.DataBindings.Clear(); gridControl1.RefreshDataSource(); gridView1.Columns.Clear(); gridView1.RefreshData(); Workbook workbook = new Workbook(); bool isLoad = false; //isLoad = workbook.LoadDocument(@"D:\\1.xlsx", DocumentFormat.Xlsx); //Console.WriteLine("result = " + isLoad); ArrayList itemList = new ArrayList(); DataTable dt = new DataTable(); using (FileStream stream = new FileStream(@"D:\99_TempForProgram\\差異料清單表_OK_AOI4.0 R167.xlsx", FileMode.Open)) { isLoad = workbook.LoadDocument(stream, DocumentFormat.Xlsx); if (isLoad == false) { MessageBox.Show("請確認EXCEL檔案是否已解密"); return; } // 判斷Sheet只能有一個, 等要release再打開 //if(workbook.Sheets.Count != 1) //{ // MessageBox.Show(string.Format("請確認EXCEL檔案內只有一個sheet{0}該檔現有個sheets : {1}", Environment.NewLine, workbook.Sheets.Count)); // return; //} // 定義column dt = new DataTable(); dt.Columns.Add("Item"); dt.Columns.Add("Add"); dt.Columns.Add("Delete"); dt.Columns.Add("Change"); dt.Columns.Add("OrgA8"); dt.Columns.Add("NewA8"); dt.Columns.Add("A8Name"); dt.Columns.Add("OrgCount"); dt.Columns.Add("NewCount"); dt.Columns.Add("IsNew"); dt.Columns.Add("IsRDConfirm"); dt.Columns.Add("Owner"); dt.Columns.Add("Module"); dt.Columns.Add("Remark"); // 取得sheet 內容 Worksheet sheet = workbook.Worksheets[workbook.Sheets.Count - 1]; Range range = sheet.GetUsedRange(); Console.WriteLine("column count = " + range.ColumnCount); Console.WriteLine("row count = " + range.RowCount); // 取得欄位標題資訊 int j = 1; textBox1.Text = sheet.GetCellValue(1, 1).ToString(); textBox2.Text = sheet.GetCellValue(1, 2).ToString(); textBox3.Text = sheet.GetCellValue(j, 3).ToString(); textBox4.Text = sheet.GetCellValue(j, 4).ToString(); textBox5.Text = sheet.GetCellValue(j, 5).ToString(); textBox6.Text = sheet.GetCellValue(j, 6).ToString(); // 取得欄位修改內容 j = 2; for (int i = 9; i <= range.RowCount; i++) { if (sheet.GetCellValue(j, i).IsEmpty == true) { break; } j = 1; DataRow dr = dt.NewRow(); dr["Item"] = sheet.GetCellValue(j, i); dr["Add"] = sheet.GetCellValue(++j, i); dr["Delete"] = sheet.GetCellValue(++j, i); dr["Change"] = sheet.GetCellValue(++j, i); dr["OrgA8"] = sheet.GetCellValue(++j, i); if (dr["OrgA8"].ToString().Equals("N/A") == false) { itemList.Add(dr["OrgA8"].ToString()); } dr["NewA8"] = sheet.GetCellValue(++j, i); if (dr["NewA8"].ToString().Equals("N/A") == false) { itemList.Add(dr["NewA8"].ToString()); } dr["A8Name"] = sheet.GetCellValue(++j, i); dr["OrgCount"] = sheet.GetCellValue(++j, i); dr["NewCount"] = sheet.GetCellValue(++j, i); dr["IsNew"] = sheet.GetCellValue(++j, i); dr["IsRDConfirm"] = sheet.GetCellValue(++j, i); dr["Owner"] = sheet.GetCellValue(++j, i); dr["Module"] = sheet.GetCellValue(++j, i); dr["Remark"] = sheet.GetCellValue(++j, i); dt.Rows.Add(dr); } } gridControl1.DataSource = dt; gridView1.OptionsBehavior.Editable = false; gridView1.OptionsBehavior.ReadOnly = true; gridView1.RefreshData(); // 判斷品號是否有不存在DB的資料, 如果有, 直接跳出訊息說明 bool result = MvDbDao.checkData_hasIllegalItemInInvmb((string[])itemList.ToArray(typeof(string))); MessageBox.Show("resut is " + result); }
/// <summary> /// 取得Mv網段 alive PC 與DB Table PCList的差異 /// </summary> /// <returns></returns> public DataTable compareMvNetworkByPcName(string[] ipRange) { DataTable resultData = new DataTable("Result"); // 定義result data的header foreach (string header in mvPCListHeader) { resultData.Columns.Add(header); } // 忽略大小寫 Hashtable hashByIp = new Hashtable(StringComparer.OrdinalIgnoreCase); Hashtable hashByName = new Hashtable(StringComparer.OrdinalIgnoreCase); // 先用IP掃描所有網段 foreach (string ipLan in ipRange) { // 取得IP Lan 範圍 IPEnumeration IPList = null; IPList = getIpRange(ipLan); string hostName = string.Empty; foreach (IPAddress ip in IPList) { bool result = MvNetworker.isPingAlive(ip); // ping 沒回應, 繼續下個IP if (result == false) { continue; } try { // 取host name IPHostEntry host = Dns.GetHostEntry(ip); hostName = host.HostName; hashByIp.Add(ip.ToString(), hostName); // 只有取的到hostname的, 才放入hashByName, 供後續比對使用 hashByName.Add(hostName, ip.ToString()); } catch (SocketException) { hashByIp.Add(ip.ToString(), hostName); } } } // 用itReportLog內的資料判斷是否相同及存在 DataTable pcList = MvDbDao.queryData_ItReportLog(); // 因為IP會一直改變, 但DomainName不會變 // 此部份的判斷邏輯會以DomainName為主 string ipInTable = string.Empty; string pcNameInTable = string.Empty; string pcNameInTableWithoutDomain = string.Empty; string pcNameInHash = string.Empty; string ipInHashByName = string.Empty; // 1. 由Table PCList 比對 掃描網段的資料 foreach (DataRow dr in pcList.Rows) { ipInTable = dr["NetworkIP"].ToString(); pcNameInTableWithoutDomain = dr["PCName"].ToString(); pcNameInTable = string.Format("{0}.{1}.{2}", dr["PCName"].ToString(), MvAdConnector.DomainOffice, MvAdConnector.DomainMv); DataRow newDr = resultData.NewRow(); // 先用DomainName判斷是否存在Hash Table內 // 不存在, 直接判斷該record資料已失效 if (hashByName.Contains(pcNameInTable) == false) { newDr["NetworkIP"] = ipInTable; newDr["PCName"] = pcNameInTable; newDr["IsSamePCName"] = "N"; newDr["Action"] = "Delete"; newDr["Remark"] = string.Empty; resultData.Rows.Add(newDr); continue; } // 存在, 取出IP做後續判斷 ipInHashByName = hashByName[pcNameInTable].ToString(); if (ipInHashByName.Equals(dr["NetworkIP"]) == true) { // 判斷IP相同, 回傳不需修改 newDr["NetworkIP"] = ipInTable; newDr["PCName"] = pcNameInTable; newDr["IsSamePCName"] = "Y"; newDr["Action"] = string.Empty; newDr["Remark"] = string.Empty; hashByIp.Remove(ipInTable); } else { // 判斷IP不同, 將要變更IP的結果存至Action newDr["NetworkIP"] = ipInTable; newDr["PCName"] = pcNameInTable; newDr["IsSamePCName"] = "Y"; newDr["Action"] = "ChangeIp"; newDr["Remark"] = ipInHashByName; // 並將要變更的IP從hash中移除 hashByIp.Remove(ipInHashByName); } resultData.Rows.Add(newDr); } // 2. 未被移除的資料, 即為新增, 需放入Result data foreach (DictionaryEntry de in hashByIp) { DataRow newDr = resultData.NewRow(); newDr["NetworkIP"] = de.Key; newDr["PCName"] = de.Value.ToString().Replace(string.Format(".{0}.{1}", MvAdConnector.DomainOffice, MvAdConnector.DomainMv), ""); newDr["IsSamePCName"] = "N"; newDr["Action"] = "New"; newDr["Remark"] = string.Empty; resultData.Rows.Add(newDr); } return(resultData); }
private void cboReportType_SelectedIndexChanged(object sender, EventArgs e) { // 如果沒被選取, 則直接離開 if (cboReportType.SelectedIndex < 0) { return; } string result = cboReportType.SelectedValue.ToString(); // 如果有值再判斷是否要intial value if (result.Length == 0) { return; } // Find the report type DataTable tmpDt = null; DefinedReport.ErpReportType reportList = DefinedReport.ErpReportType.NONE; try { reportList = (DefinedReport.ErpReportType)Enum.Parse(typeof(DefinedReport.ErpReportType), result); } catch (ArgumentException) { } switch (reportList) { case DefinedReport.ErpReportType.MocP10Auto: groupBom.Enabled = false; chkBomListBox.Enabled = false; groupDate.Enabled = true; enableObject(true, false, false); break; case DefinedReport.ErpReportType.BomP09: // initial button value tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; enableObject(false, true, false); break; case DefinedReport.ErpReportType.BomP09_Multi: // initial button value tmpDt = MvDbDao.collectData_BomList(); chkBomListBox.DataSource = tmpDt; chkBomListBox.ValueMember = "MC001"; chkBomListBox.DisplayMember = "MB0012"; enableObject(false, false, true); break; default: enableObject(false, false, false); // do nothing return; } }
private void sbOpenFile_Click(object sender, EventArgs e) { // 開檔, Parsing 差異料清單 OpenFileDialog dialog = new OpenFileDialog(); dialog.Title = "Open an Excel File"; dialog.Filter = "Excel Files|*.xls;*.xlsx"; // If the file name is not an empty string open it for saving. string filePathAndName = string.Empty; if (dialog.ShowDialog() == DialogResult.OK && dialog.FileName != null) { filePathAndName = dialog.FileName; } else { return; } // 讀取檔案內容, 並判斷是否有不合法的料號在內 SplashScreenManager.ShowDefaultWaitForm(); // 清空原始 treelist元件 clearAllCacheData(); // initial hash tables bool isSuccess = false; Workbook workbook = new Workbook(); ArrayList itemList = new ArrayList(); DataTable excelToDt = null; DataTable tempItemDt = null; // 讀取xlsx or xls string extensionName = Path.GetExtension(filePathAndName); using (FileStream stream = new FileStream(filePathAndName, FileMode.Open)) { if (".xlsx".Equals(extensionName)) { isSuccess = workbook.LoadDocument(stream, DocumentFormat.Xlsx); } else { isSuccess = workbook.LoadDocument(stream, DocumentFormat.Xls); } } if (isSuccess == false) { MessageBox.Show("請確認EXCEL檔案是否已解密"); return; } // 判斷Sheet只能有一個, 等要release再打開 if (workbook.Sheets.Count != 1) { MessageBox.Show(string.Format("請確認EXCEL檔案內只有一個sheet{0}該檔現有個sheets : {1}", Environment.NewLine, workbook.Sheets.Count)); return; } // 取得sheet 內容 Worksheet sheet = workbook.Worksheets[workbook.Sheets.Count - 1]; Range range = sheet.GetUsedRange(); // 取得欄位標題資訊 int j = 4; string[] excelHeader = new string[13]; for (int i = 0; i < excelHeader.Length; i++) { excelHeader[i] = sheet.GetCellValue(i, j).ToString(); } // 定義column excelToDt = CustomStructure.cloneExcelPrDtColumn(); // 取得欄位內容 // 判斷工號必需要完全相同 string empNo = string.Empty; for (int i = 5; i <= range.RowCount; i++) { j = 0; DataRow dr = excelToDt.NewRow(); dr["TB043"] = sheet.GetCellValue(j, i); dr["TA012"] = sheet.GetCellValue(++j, i); if (i == 5) { empNo = dr["TA012"].ToString(); } if (empNo.Length == 0) { MessageBox.Show("請購人員不允許為空值"); return; } dr["TB004"] = sheet.GetCellValue(++j, i); // 判斷品號為空值時, 停止再向下parsing if (sheet.GetCellValue(j, i).IsEmpty == true) { break; } // 當判斷品號不為空值時, 加判斷工號是否相同 // 如不相同, 也不允許再往下執行 if (empNo.Equals(dr["TA012"].ToString()) == false) { MessageBox.Show("該Excel內含2組以上的工號, 不允許匯入作業"); return; } itemList.Add(dr["TB004"]); dr["TB005"] = sheet.GetCellValue(++j, i); dr["TB006"] = sheet.GetCellValue(++j, i); dr["TB009"] = sheet.GetCellValue(++j, i); dr["TB008"] = sheet.GetCellValue(++j, i); dr["TB011"] = sheet.GetCellValue(++j, i); dr["TB010"] = sheet.GetCellValue(++j, i); dr["TB012"] = sheet.GetCellValue(++j, i); dr["TB029"] = sheet.GetCellValue(++j, i); dr["TB201"] = sheet.GetCellValue(++j, i); dr["TA202"] = sheet.GetCellValue(++j, i); excelToDt.Rows.Add(dr); } // 判斷料號是否有不存在DB的資料 // 如果有, 存入cacheillegalItem, 後續顯示訊息判斷使用 tempItemDt = MvDbDao.checkData_hasIllegalItemListInInvmb((string[])itemList.ToArray(typeof(string))); // 依判斷是否有非合法的Item執行後續判斷 // 即便有不合法的Item, 介面還是要顯示出來, 因為要提供使用者檢查使用 // 判斷excel轉成data table後的欄位正確性查檢 // 只有有問題的時候, 才需要取得BackColorList bool isIllegal = checkDataValidAndSetBackColor(excelToDt, tempItemDt, ref hashTreeListBackColor[0]); if (tempItemDt != null && tempItemDt.Rows.Count >= 1 || isIllegal == true) { // 判斷excel轉成data table後的欄位正確性查檢 // 只有有問題的時候, 才需要取得BackColorList // checkDataValidAndSetBackColor(dt, tempItemDt, ref hashTreeListBackColor[0]); MessageBox.Show("部份料號不存在DB, 或Excel內容有不正確欄位"); } else { cachePrDt = excelToDt.Copy(); } // 設定各Sheet 權限 // 不開放編輯功能, 或隱藏欄位等 treeList1.DataSource = excelToDt; setColumnsCaption(ref excelHeader, ref treeList1); //treeList1.Columns["MB004"].Visible = false; treeList1.BestFitColumns(); treeList1.OptionsView.AutoWidth = false; treeList1.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; // 命名每個Pages xtraTabControl1.TabPages[0].Text = "EXCEL_PR"; xtraTabControl1.SelectedTabPage = xtraTabControl1.TabPages[0]; SplashScreenManager.CloseForm(false); }
private void sbtnGetBomList_Click(object sender, EventArgs e) { if (isInitialBomList == true) { // 第一次取得BomList DataTable tmpDt = null; tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; isInitialBomList = false; return; } string result = cboBomType.SelectedValue == null ? "" : cboBomType.SelectedValue.ToString(); if (result.Length == 0) { MessageBox.Show("Please choice the bom"); return; } // show wait process SplashScreenManager.ShowDefaultWaitForm(); clearAllBomCacheDtAndTreeList(); // initial hash tables for (int i = 0; i < hashTreeListBackColor.Length; i++) { hashTreeListBackColor[i] = new Hashtable(); } MvBomCompareBo bo = new MvBomCompareBo(); DataSet sourceDs = null; // get source data set sourceDs = bo.GetDevDataSet_BomP09_Thin(result, true).Copy(); DataTable sourceDt = sourceDs.Tables[result + "_Filter"].Copy(); DataTable filterDt = sourceDs.Tables[result + "_Filter"].Copy(); sourceDt.TableName = sourceDt.TableName.Replace("_Filter", ""); filterDt.TableName = filterDt.TableName.Replace("_Filter", ""); DataTable tempDt = null; // 找出選配 tempDt = bo.getOptionalItem(filterDt); // 檢查選配是否合理 // LV=1, 選配, LV=2, 不可以有再製 bool checkValid = false; checkValid = bo.checkOptionalItemValid(tempDt); if (checkValid == false) { // 只顯示optional 的部份 tempDt.Columns.Remove("AmountSpace"); tempDt.Columns.Remove("NameSpaceNoVer"); tempDt.Columns.Remove("Column9"); tempDt.Columns["ModuleLv1"].SetOrdinal(6); treeList2.DataSource = tempDt.Clone(); showTreeListByLevel(treeList2, tempDt, ref hashTreeListBackColor[1], false, true); setColumnsCaption(ref treeList2); MessageBox.Show("LV=1的選配展開後含再製件, 請確認Bom表選配內容是否正確"); return; } // 確認資料正確性均合理後, 再copy至cacheBomDt // set cache datatable if (cacheBomDt != null) { cacheBomDt.Clear(); } cacheBomDt = filterDt.Copy(); // 第1個Table的特別處理 sourceDt.Columns["ModuleLv1"].SetOrdinal(6); treeList1.DataSource = sourceDt.Clone(); hashTreeListBackColor[0].Clear(); showTreeListByLevel(treeList1, sourceDt, ref hashTreeListBackColor[0], false, false); setColumnsCaption(ref treeList1); // 第2個Table的特別處理 tempDt.Columns["ModuleLv1"].SetOrdinal(6); treeList2.DataSource = tempDt.Clone(); showTreeListByLevel(treeList2, tempDt, ref hashTreeListBackColor[1], false, true); setColumnsCaption(ref treeList2); // 設定各Sheet的Sheet權限 // 不開放編輯功能, 或隱藏欄位等 treeList1.Columns["RowId"].Visible = false; treeList1.Columns["NameSpace"].Visible = false; treeList1.Columns["NameSpaceNoVer"].Visible = false; treeList2.Columns["AmountSpace"].Visible = false; treeList1.Columns["Column9"].Visible = false; treeList1.Columns["MD013"].Visible = false; treeList2.Columns["RowId"].Visible = false; treeList2.Columns["NameSpace"].Visible = false; treeList2.Columns["NameSpaceNoVer"].Visible = false; treeList2.Columns["AmountSpace"].Visible = false; treeList2.Columns["Column9"].Visible = false; treeList2.Columns["MD013"].Visible = false; treeList2.Columns["OrgLV"].Visible = false; treeList1.BestFitColumns(); treeList2.BestFitColumns(); treeList1.OptionsView.AutoWidth = false; treeList2.OptionsView.AutoWidth = false; treeList1.OptionsBehavior.ReadOnly = true; treeList2.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; treeList2.OptionsBehavior.Editable = false; treeList2.ExpandAll(); treeList2.OptionsView.ShowCheckBoxes = true; treeList2.OptionsBehavior.AllowRecursiveNodeChecking = true; // 命名每個Pages xtraTabControl1.TabPages[0].Text = "Original_Bom"; xtraTabControl1.SelectedTabPage = xtraTabControl1.TabPages[0]; //Close Wait Form SplashScreenManager.CloseForm(false); }
private void btnCompare_Click_Thin(object sender, EventArgs e) { DataTable tmpDt = new DataTable(); if (isInitialBomList == true) { // 第一次取得BomList tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; isInitialBomList = false; return; } if (BomView.Items.Count < 2) { MessageBox.Show("請選擇2個bom表"); return; } // 取得已選取的list List <string> selectedList = new List <string>(); foreach (var item in BomView.Items) { string row = (item as ListViewItem).Text; selectedList.Add(row); } // 判斷是否選取相同的Bom表 if (selectedList[0].Equals(selectedList[1]) == true) { MessageBox.Show("請不要選取相同的bom表比對"); return; } // show wait process SplashScreenManager.ShowDefaultWaitForm(); DataSet sourceDs = new DataSet(); MvBomCompareBo bo = new MvBomCompareBo(); sourceDs = bo.CollectSourceDsProcess_BomP09_Thin(selectedList.ToArray <string>()).Copy(); // filter data DataTable sourceDt1 = sourceDs.Tables[0].Copy(); DataTable sourceDt2 = sourceDs.Tables[1].Copy(); DataSet summaryDs = new DataSet(); DataSet tmpDs = new DataSet(); // show tree list node // 設定column DataTable filterDt1 = bo.filterDataByRdRule(sourceDt1, true); DataTable filterDt2 = bo.filterDataByRdRule(sourceDt2, true); DataTable dtIncludeNameSpace1; DataTable dtIncludeNameSpace2; DataTable summaryDt; dtIncludeNameSpace1 = bo.extendBomNameSpace(filterDt1, true); dtIncludeNameSpace2 = bo.extendBomNameSpace(filterDt2, true); summaryDs = bo.compareBomByRuleRd_v2(dtIncludeNameSpace1, dtIncludeNameSpace2, false); tmpDs = bo.compareBomByRuleRd_v2(dtIncludeNameSpace2, dtIncludeNameSpace1, true); // 顯示Detail Summary相關資訊 // 相同的資料不用再呈現差異的比對資訊 tmpDt = summaryDs.Tables["Same"]; tmpDt.Columns.Remove("CompareLV"); tmpDt.Columns.Remove("CompareA8"); tmpDt.Columns.Remove("CompareMD006"); tmpDt.Columns.Remove("ModuleLv1"); treeList3.DataSource = tmpDt.Copy(); summaryDt = summaryDs.Tables["Different"]; summaryDt.Merge(tmpDs.Tables["Different"]); treeList4.DataSource = summaryDt.Copy(); setCompareDetailColumnsCaption(ref treeList3, ref treeList4); // 顯示SummaryBom相關資訊 for RD tmpDt = new DataTable(); tmpDt = bo.generateSummaryTableByRd(summaryDt, true); treeList5.DataSource = tmpDt.Copy(); setSummaryDetailColumnsCaption(ref treeList5); // 整理SummaryBom For Pur tmpDt = bo.generateSummaryTableByPur(summaryDt); treeList6.DataSource = tmpDt.Copy(); setSummaryColumnsCaption(ref treeList6); // initial hash tables for (int i = 0; i < hashTreeListBackColor.Length; i++) { hashTreeListBackColor[i] = new Hashtable(); } // 注意 ParentFieldName必需在 showTreeListByLevel之前 // 只要設定過, Level的功能會失效 treeList1.DataSource = dtIncludeNameSpace1.Clone(); treeList1.ParentFieldName = dtIncludeNameSpace1.TableName; hashTreeListBackColor[0].Clear(); showTreeListByLevel(treeList1, dtIncludeNameSpace1, ref hashTreeListBackColor[0], false); setColumnsCaption(ref treeList1); // 注意 ParentFieldName必需在 showTreeListByLevel之前 // 只要設定過, Level的功能會失效 treeList2.DataSource = dtIncludeNameSpace2.Clone(); treeList2.ParentFieldName = dtIncludeNameSpace2.TableName; hashTreeListBackColor[1].Clear(); showTreeListByLevel(treeList2, dtIncludeNameSpace2, ref hashTreeListBackColor[1], false); setColumnsCaption(ref treeList2); xtraTabControl1.TabPages[0].Text = string.Format("{0} vs {1}", filterDt1.TableName, filterDt2.TableName); xtraTabControl1.TabPages[1].Text = "CompareDetail"; xtraTabControl1.TabPages[2].Text = "SummaryDetail"; xtraTabControl1.TabPages[3].Text = "Summary"; // Sheet1,2 不開放編輯功能, treeList 1,2,3,4 // Sheet3,4 開放編輯功能, 這些資料都只能是read only treeList1.OptionsBehavior.ReadOnly = true; treeList2.OptionsBehavior.ReadOnly = true; treeList3.OptionsBehavior.ReadOnly = true; treeList4.OptionsBehavior.ReadOnly = true; treeList5.OptionsBehavior.ReadOnly = true; treeList6.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; treeList2.OptionsBehavior.Editable = false; treeList3.OptionsBehavior.Editable = false; treeList4.OptionsBehavior.Editable = false; treeList5.OptionsBehavior.Editable = false; treeList6.OptionsBehavior.Editable = false; treeList1.Columns["NameSpace"].Visible = false; treeList1.Columns["NameSpaceNoVer"].Visible = false; treeList1.Columns["MD013"].Visible = false; treeList1.Columns["AmountSpace"].Visible = false; treeList1.Columns["RowId"].Visible = false; treeList2.Columns["NameSpace"].Visible = false; treeList2.Columns["NameSpaceNoVer"].Visible = false; treeList2.Columns["MD013"].Visible = false; treeList2.Columns["AmountSpace"].Visible = false; treeList2.Columns["RowId"].Visible = false; //Close Wait Form SplashScreenManager.CloseForm(false); }
private void btnOk_Click(object sender, EventArgs e) { DataSet ds = new DataSet(); bool blnResult = false; // get the report start's date and end date startDate = dateTimePicker1.Value; endDate = dateTimePicker2.Value; if (startDate.CompareTo(endDate) > 0) { if (DateTime.Compare(startDate.Date, endDate.Date) != 0) { MessageBox.Show("結束日期需大於等於起始日期"); return; } } string result = cboReportType.SelectedValue == null ? "" : cboReportType.SelectedValue.ToString(); if (result.Length == 0) { MessageBox.Show("Please choice the report type"); return; } // Find the report type DefinedReport.ErpReportType reportList = DefinedReport.ErpReportType.NONE; try { reportList = (DefinedReport.ErpReportType)Enum.Parse(typeof(DefinedReport.ErpReportType), result); } catch (ArgumentException) { } MvExcelReport report = new MvExcelReport(); switch (reportList) { case DefinedReport.ErpReportType.MocP10Auto: endDate = System.DateTime.Now; startDate = DateTime.Parse(endDate.AddMonths(-4).ToShortDateString()); fileNameAndPath = string.Format("{0}{1}_{2}.xlsx", workingDirectory, DefinedReport.ErpReportType.MocP10Auto.ToString(), endDate.ToString("yyyyMMdd")); Console.WriteLine(System.DateTime.Now.ToString("yyyy/MM/dd hh:mm:ss.fff") + " start report"); ds = MvDbDao.collectData_MocP10Auto_VB6(System.DateTime.Now); blnResult = report.generateMocP10Auto(fileNameAndPath, ds); if (blnResult == false) { MessageBox.Show("generate MocP10Auto fail"); } else { MessageBox.Show(string.Format("generate {0} done {1}{2}", DefinedReport.ErpReportType.MocP10Auto.ToString(), Environment.NewLine, fileNameAndPath)); } break; case DefinedReport.ErpReportType.BomP09: result = cboBomType.SelectedValue == null ? "" : cboBomType.SelectedValue.ToString(); if (result.Length == 0) { MessageBox.Show("Please choice the BOM type"); return; } ds = MvDbDao.collectData_BomP09_VB6(new string[] { result }); fileNameAndPath = string.Format("{0}{1}_{2}.xlsx", workingDirectory, DefinedReport.ErpReportType.BomP09.ToString(), endDate.ToString("yyyyMMdd")); blnResult = report.generateBomP09_NoPrice(fileNameAndPath, ds); if (blnResult == false) { MessageBox.Show("generate MocP10Auto fail"); } else { MessageBox.Show(string.Format("generate {0} done {1}{2}", DefinedReport.ErpReportType.BomP09.ToString(), Environment.NewLine, fileNameAndPath)); } break; case DefinedReport.ErpReportType.BomP09_Multi: if (chkBomListBox.CheckedItems.Count <= 0) { MessageBox.Show("please checked more than one"); return; } List <string> selectedList = new List <string>(); foreach (var itemChecked in chkBomListBox.CheckedItems) { var row = (itemChecked as DataRowView).Row; selectedList.Add(row["MC001"].ToString()); } ds = MvDbDao.collectData_BomP09_VB6(selectedList.ToArray <string>()); fileNameAndPath = string.Format("{0}{1}_{2}.xlsx", workingDirectory, DefinedReport.ErpReportType.BomP09_Multi.ToString(), endDate.ToString("yyyyMMdd")); blnResult = report.generateBomP09_NoPrice(fileNameAndPath, ds); if (blnResult == false) { MessageBox.Show("generate MocP10Auto fail"); } else { MessageBox.Show(string.Format("generate {0} done {1}{2}", DefinedReport.ErpReportType.BomP09_Multi.ToString(), Environment.NewLine, fileNameAndPath)); } break; default: MessageBox.Show("Can't find the report type as " + result); break; } }
private void sbtnGetBomList_Click(object sender, EventArgs e) { if (isInitialBomList == true) { // 第一次取得BomList DataTable tmpDt = null; tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; isInitialBomList = false; return; } string result = cboBomType.SelectedValue == null ? "" : cboBomType.SelectedValue.ToString(); if (result.Length == 0) { MessageBox.Show("Please choice the bom"); return; } // show wait process SplashScreenManager.ShowDefaultWaitForm(); MvBomCompareBo bo = new MvBomCompareBo(); // initial hash tables for (int i = 0; i < hashTreeListBackColor.Length; i++) { hashTreeListBackColor[i] = new Hashtable(); } // get source data set by stored procedure DataSet sourceDs; sourceDs = bo.GetDevDataSet_BomP09_Thin(result, false).Copy(); DataTable sourceDt = sourceDs.Tables[result].Copy(); treeList1.DataSource = sourceDt.Clone(); hashTreeListBackColor[0].Clear(); showTreeListByLevel(treeList1, sourceDt, ref hashTreeListBackColor[0], false); setColumnsCaption(ref treeList1); // get source data set by optional data DataSet sourceDsOptional; sourceDsOptional = bo.GetDevDataSet_BomP09_Thin(result, false).Copy(); DataTable sourceDtOptional = sourceDsOptional.Tables[result].Copy(); treeList2.DataSource = sourceDtOptional.Clone(); hashTreeListBackColor[1].Clear(); showTreeListByLevel(treeList2, sourceDtOptional, ref hashTreeListBackColor[1], false); setColumnsCaption(ref treeList2); // Sheet1,2 不開放編輯功能, treeList 1,2,3 //treeList1.OptionsBehavior.ReadOnly = true; treeList2.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; treeList2.OptionsBehavior.Editable = false; // Sheet1 show checkbox treeList1.OptionsView.ShowCheckBoxes = true; treeList1.OptionsBehavior.AllowRecursiveNodeChecking = true; //Close Wait Form SplashScreenManager.CloseForm(false); }
private void btnLogin_Click(object sender, EventArgs e) { // 輸入ad帳號的登入密碼 + 認證 bool result = false; string userName = txtAccount.Text.Trim(); string passWord = txtPassWord.Text.Trim(); string domainName = MvAdConnector.DomainOffice; if (userName.Length == 0) { MessageBox.Show("請輸入AD帳號"); txtAccount.Focus(); return; } if (passWord.Length == 0) { MessageBox.Show("請輸入AD密碼"); txtPassWord.Focus(); return; } // 先parse出company, 以利下面連線判斷 GlobalMvVariable.MvAdCompany = (MvCompanySite)Enum.Parse(typeof(MvCompanySite), cboCompany.Text, false); GlobalMvVariable.UserData.CompanySite = (MvCompanySite)Enum.Parse(typeof(MvCompanySite), cboCompany.Text, false); // 連線至LDAP 確認使用者帳密是否合法 result = MvAdConnector.validateUser(userName, passWord, domainName); // 目前問AD的功能已失效, 要重新改寫, 暫時不卡密碼 result = true; if (result == false) { MessageBox.Show("帳號或密碼錯誤, 請重新輸入"); txtAccount.Clear(); txtPassWord.Clear(); txtAccount.Focus(); return; } // 連線至mvWorkFlow 確認使用者是否在職 result = MvDbDao.validateUserFromMvWorkFlow(userName, passWord); if (result == false) { MessageBox.Show("該帳號人員已離職, 請重新輸入"); txtAccount.Clear(); txtPassWord.Clear(); txtAccount.Focus(); return; } // 連線至ERP GP 確認使用者是否在職 //result = MvDbDao.validateUserFromErpGP(GlobalMvVariable.MvAdCompany, userName, passWord); result = true; if (result == false) { MessageBox.Show("該帳號人員無ERP權限, 請重新輸入"); txtAccount.Clear(); txtPassWord.Clear(); txtAccount.Focus(); return; } // 取得工號及部門代碼 GlobalMvVariable.UserData.AdAccount = userName; GlobalMvVariable.UserData.Password = passWord; result = MvDbDao.getUserInfo(ref GlobalMvVariable.UserData); if (result == false) { MessageBox.Show("該帳號人員無mvWorkFlow系統權限, 請重新輸入"); txtAccount.Clear(); txtPassWord.Clear(); txtAccount.Focus(); GlobalMvVariable.UserData.clear(); return; } // 存入全域變數 GlobalMvVariable.MvAdUserName = userName; GlobalMvVariable.MvAdPassword = passWord; // 進入Main頁面 new frmMainDev().Show(); this.Hide(); // 這個部份有改過Program.cs, 才可以使用此方式 // 否則會直接關掉Project this.Close(); }
private void sbtnGetBomList_Click(object sender, EventArgs e) { if (isInitialBomList == true) { // 第一次取得BomList DataTable tmpDt = null; tmpDt = MvDbDao.collectData_BomList(); cboBomType.DataSource = tmpDt; cboBomType.ValueMember = "MC001"; cboBomType.DisplayMember = "MB0012"; cboBomType.Text = ""; cboBomType.SelectedValue = ""; isInitialBomList = false; return; } string result = cboBomType.SelectedValue == null ? "" : cboBomType.SelectedValue.ToString(); if (result.Length == 0) { MessageBox.Show("Please choice the bom"); return; } // show wait process SplashScreenManager.ShowDefaultWaitForm(); MvBomCompareBo bo = new MvBomCompareBo(); DataSet sourceDs; // get source data set //sourceDs = bo.GetBomP07InfoByDev(result, false).Copy(); sourceDs = bo.GetDevDataSet_BomP09_Thin(result, false).Copy(); DataTable sourceDt = sourceDs.Tables[result].Copy(); DataTable filterDt = sourceDs.Tables[result + "_Filter"].Copy(); DataTable mocDt; // convert bom to moc mocDt = bo.convertBomToMoc(filterDt); tmpMocDt = mocDt.Clone(); // initial hash tables for (int i = 0; i < hashTreeListBackColor.Length; i++) { hashTreeListBackColor[i] = new Hashtable(); } // 第1個Table的特別處理 treeList1.DataSource = sourceDt.Clone(); hashTreeListBackColor[0].Clear(); showTreeListByLevel(treeList1, sourceDt, ref hashTreeListBackColor[0], false); setColumnsCaption(ref treeList1); // 第2個Table的特別處理 filterDt.Columns.Remove("AmountSpace"); treeList2.DataSource = filterDt.Clone(); hashTreeListBackColor[1].Clear(); showTreeListByLevel(treeList2, filterDt, ref hashTreeListBackColor[1], false); setColumnsCaption(ref treeList2); // 第3個Table的特別處理 mocDt.Columns.Remove("MD006"); mocDt.Columns["RealAmount"].SetOrdinal(5); mocDt.Columns["ModuleLv1"].SetOrdinal(7); treeList3.DataSource = mocDt.Clone(); hashTreeListBackColor[2].Clear(); showTreeListByLevel(treeList3, mocDt, ref hashTreeListBackColor[2], false); setColumnsCaption(ref treeList3); xtraTabControl1.TabPages[0].Text = sourceDt.TableName; xtraTabControl1.TabPages[1].Text = sourceDt.TableName + "_虛擬製令"; // Sheet1,2 不開放編輯功能, treeList 1,2,3 treeList1.Columns["MD013"].Visible = false; treeList2.Columns["MD013"].Visible = false; treeList1.OptionsView.AutoWidth = false; treeList2.OptionsView.AutoWidth = false; treeList3.OptionsView.AutoWidth = false; treeList1.OptionsBehavior.ReadOnly = true; treeList2.OptionsBehavior.ReadOnly = true; treeList3.OptionsBehavior.ReadOnly = true; treeList1.OptionsBehavior.Editable = false; treeList2.OptionsBehavior.Editable = false; treeList3.OptionsBehavior.Editable = false; //Close Wait Form SplashScreenManager.CloseForm(false); }