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);
        }
Пример #2
0
        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);
        }
Пример #3
0
        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);
        }