예제 #1
0
        private void BindLslLsbGrid()
        {
            GridLsSource.Clear();
            this.modTPPLGPCLCLSBBindingSource.DataSource = GridLsSource;
            GridLsSource.AddRange(this._viewModel.LCLSBList.Where(x => x.C_FK == _lsbId).OrderBy(w => w.N_SORT));
            SetGridViewRowNum.SetRowNum(gridView2);
            this.gridView2.UpdateSummary();
            this.gridView2.BestFitColumns();

            if (GridLsSource.Any())
            {
                // 默认选中第一个炉次计划
                this.gridView2.FocusedRowHandle = 0;
            }
        }
예제 #2
0
        private void InitDrop()
        {
            var dropPlanToReq = new GridViewDragDropHelper(
                gridView1, gridView1, (row1, row2) =>
            {
                if (row1 == row2)
                {
                    return;
                }

                var plan1 = this.gridView1.GetRow(row1) as Mod_TPP_LGPC_LSB;
                if (row2 < GridSource.Count)
                {
                    row2 = row2 < 0 ? 0 : row2;
                    if (row2 >= gridView1.RowCount)
                    {
                        row2 = gridView1.RowCount - 1;
                    }
                    var plan2 = this.gridView1.GetRow(row2) as Mod_TPP_LGPC_LSB;
                    if (plan2 == null)
                    {
                        return;
                    }
                    GridSource.Remove(plan1);
                    var left  = GridSource.TakeWhile(x => x.N_SORT < plan2.N_SORT).ToList();
                    var right = GridSource.Where(x => left.Contains(x) == false).ToList();
                    GridSource.Clear();
                    GridSource.AddRange(left);
                    GridSource.Add(plan1);
                    GridSource.AddRange(right);
                }
                else
                {
                    GridSource.Remove(plan1);
                    GridSource.Add(plan1);
                }

                foreach (var item in GridSource)
                {
                    item.N_SORT = GridSource.IndexOf(item) + 1;
                }

                this.gridView1.RefreshData();
            });

            dropPlanToReq.AllowDrop = true;

            var dropPlanToReq2 = new GridViewDragDropHelper(
                gridView2, gridView2, (row1, row2) =>
            {
                if (row1 == row2)
                {
                    return;
                }

                var plan1 = this.gridView2.GetRow(row1) as Mod_TPP_LGPC_LCLSB;
                if (row2 < GridLsSource.Count)
                {
                    row2      = row2 < 0 ? 0 : row2;
                    var plan2 = this.gridView2.GetRow(row2) as Mod_TPP_LGPC_LCLSB;
                    if (plan2 == null)
                    {
                        return;
                    }
                    GridLsSource.Remove(plan1);
                    var left  = GridLsSource.TakeWhile(x => x.N_SORT < plan2.N_SORT).ToList();
                    var right = GridLsSource.Where(x => left.Contains(x) == false).ToList();
                    GridLsSource.Clear();
                    GridLsSource.AddRange(left);
                    GridLsSource.Add(plan1);
                    GridLsSource.AddRange(right);
                }
                else
                {
                    GridLsSource.Remove(plan1);
                    GridLsSource.Add(plan1);
                }

                foreach (var item in GridLsSource)
                {
                    item.N_SORT = GridLsSource.IndexOf(item) + 1;
                }

                this.gridView2.RefreshData();
            });

            dropPlanToReq2.AllowDrop = true;
        }