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 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 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); }