コード例 #1
0
        void _data_SetDetailValue(object sender, EventArgs e)
        {
            List <object> ob = sender as List <object>;

            string     FieldName = ob[0].ToString();
            string     value     = ob[1].ToString();
            GridColumn col;

            if (int.Parse(ob[2].ToString()) == 0)
            {
                col = gvMain.Columns[FieldName];
            }
            else
            {
                DevExpress.XtraGrid.Views.Grid.GridView gv = (DevExpress.XtraGrid.Views.Grid.GridView)_frmDesigner._gcDetail[int.Parse(ob[2].ToString()) - 1].MainView;
                col = gv.Columns[FieldName];
            }

            CDTRepGridLookup tmp = col.ColumnEdit as CDTRepGridLookup;

            if (tmp == null)
            {
                return;
            }
            //GetFull data for col
            if (!tmp.Data.FullData)
            {
                tmp.Data.GetData();
                _frmDesigner.RefreshLookup(tmp.DataIndex);
            }
            this._frmDesigner.setStaticFilter();
        }
コード例 #2
0
        void _data_SetDetailValue(object sender, EventArgs e)
        {
            List <object> ob = sender as List <object>;

            string           FieldName = ob[0].ToString();
            string           value     = ob[1].ToString();
            GridColumn       col       = gvMain.Columns[FieldName];
            CDTRepGridLookup tmp       = col.ColumnEdit as CDTRepGridLookup;

            if (tmp == null)
            {
                return;
            }
            this._frmDesigner.setRepFilter(tmp, value);
        }
コード例 #3
0
        private void refreshLookup()
        {
            for (int i = 0; i < _gv.Columns.Count; i++)
            {
                GridColumn       g = _gv.Columns[i];
                CDTRepGridLookup r = (g.ColumnEdit as CDTRepGridLookup);
                if (r != null)
                {
                    if (r.Tag != null)
                    {
                        if (r.Tag.ToString() != string.Empty)
                        {
                            BindingSource bstmp    = r.DataSource as BindingSource;
                            CDTData       rdatatmp = r.Buttons[1].Tag as CDTData;
                            if (!rdatatmp.FullData)
                            {
                                rdatatmp.GetData();
                                bstmp.DataSource  = rdatatmp.DsData.Tables[0];
                                r.DataSource      = bstmp;
                                rdatatmp.FullData = true;

                                for (int j = i + 1; j < _gv.Columns.Count; j++)
                                {
                                    if (_gv.Columns[j].FieldName.ToLower() == g.FieldName.ToLower())
                                    {
                                        CDTRepGridLookup rj  = (_gv.Columns[j].ColumnEdit as CDTRepGridLookup);
                                        BindingSource    bsj = rj.DataSource as BindingSource;
                                        bsj.DataSource = rdatatmp.DsData.Tables[0];
                                    }
                                }
                            }
                        }
                    }
                }
            }
        }
コード例 #4
0
        private void ValidMtID(DataColumn colMT, string value)
        {
            string fieldName = colMT.ColumnName;

            foreach (CDTGridLookUpEdit tmp in _glist)
            {
                if (tmp.Properties.Buttons[0].Tag != null)
                {
                    if ((tmp.Properties.Buttons[0].Tag as DataRow)["QueryInsertDt"].ToString() == string.Empty)
                    {
                        continue;
                    }
                    if (!this.isRefreshed)
                    {
                        this.Refresh(this, new EventArgs());
                        this.isRefreshed = true;
                    }
                    if (fieldName.ToLower() == (tmp.Properties.Buttons[0].Tag as DataRow)["FieldName"].ToString().ToLower())
                    {
                        try
                        {
                            string query = (tmp.Properties.Buttons[0].Tag as DataRow)["QueryInsertDt"].ToString();
                            //xoa cac dong da nhap
                            DevExpress.XtraGrid.Views.Grid.GridView gvMain = gc.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
                            if (colMT.Table.TableName == "MT29" && fieldName == "MT2AID") //Piriou
                            {
                                gvMain.SelectAll();
                                gvMain.DeleteSelectedRows();
                                //gvMain.ClearSelection();
                                _data.LstDrCurrentDetails.Clear();
                            }

                            if (value == string.Empty)
                            {
                                continue;
                            }
                            DataTable dtTable;
                            query   = query.Replace("@" + fieldName, value);
                            dtTable = _data.DbData.GetDataTable(query);
                            //Xác định khóa ngoại
                            DataRow[] RelaRow = _data.DsStruct.Tables[1].Select("refTable='" + _data.DrTableMaster["TableName"].ToString() + "'");
                            string    RelaCol = _data.DrTableMaster["Pk"].ToString();
                            if (RelaRow.Length > 0)
                            {
                                RelaCol = RelaRow[0]["FieldName"].ToString();
                            }
                            for (int i = 0; i < dtTable.Rows.Count; i++)
                            {
                                DataRow drdt = dtTable.Rows[i];

                                DataRow drNew = _data.DsData.Tables[1].NewRow();
                                drNew[RelaCol] = _data.DrCurrentMaster[_data.DrTableMaster["Pk"].ToString()];

                                gvMain.RefreshData();
                                //int j = gvMain.DataRowCount;
                                foreach (DataColumn col in dtTable.Columns)
                                {
                                    if (_data.DsData.Tables[1].Columns.Contains(col.ColumnName))
                                    {
                                        drNew[col.ColumnName] = drdt[col.ColumnName];
                                        if (gvMain.Columns[col.ColumnName] == null)
                                        {
                                            continue;
                                        }
                                        {
                                            GridColumn       g = gvMain.Columns[col.ColumnName];
                                            CDTRepGridLookup r = g.ColumnEdit as CDTRepGridLookup;
                                            if (r == null)
                                            {
                                                continue;
                                            }
                                            BindingSource bs = r.DataSource as BindingSource;
                                            if (!r.Data.FullData)
                                            {
                                                r.Data.GetData();
                                                bs.DataSource = r.Data.DsData.Tables[0];
                                                r.DataSource  = bs;
                                            }


                                            //DataTable tbRep = bs.DataSource as DataTable;
                                            //int index = r.GetIndexByKeyValue(drdt[g.FieldName]);
                                            //if (index == -1) continue;
                                            //DataRow RowSelected = tbRep.Rows[index];
                                            //if (RowSelected != null)
                                            //{
                                            //    //_data.SetValuesFromListDt(drNew, g.FieldName, drdt[g.FieldName].ToString(), RowSelected);
                                            //}
                                        }
                                    }
                                }
                                _data.DsData.Tables[1].Rows.Add(drNew);
                                //_data.DsData.Tables[1].Rows.Add(_data.LstDrCurrentDetails[_data.LstDrCurrentDetails.Count - 1]);
                            }
                            // gvMain.AddNewRow();
                            //if (colMT.Table.TableName == "MTLSX" && fieldName == "MT35ID") //Bến Thành
                            //{
                            //    foreach (DataRow m in _data.LstDrCurrentDetails)
                            //    {
                            //        if (m["MT35ID"].ToString() != value)
                            //        {
                            //            m["MT35ID"] = DBNull.Value;
                            //            m["DT35ID"] = DBNull.Value;
                            //            m.EndEdit();
                            //        }
                            //    }
                            //}
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                }
            }
        }
コード例 #5
0
        private void InsertAll_Donhang(DataColumnChangeEventArgs e)// Khải hoàn
        {
            string MaCN = "";

            if (_data.DrCurrentMaster["NgayCT"] == DBNull.Value)
            {
                return;
            }
            string sql = "select * from wDonHangChuaGiao where NgayGDK<='" + DateTime.Parse(_data.DrCurrentMaster["NgayCT"].ToString()).ToShortDateString() + "'";

            if (_data.DrCurrentMaster["MaCN"] != DBNull.Value)
            {
                MaCN = _data.DrCurrentMaster["MaCN"].ToString();
                sql += " and MaCN='" + MaCN + "'";
            }
            sql += " order by NgayGDK, SoCT";
            DataTable dtTable = _data.DbData.GetDataTable(sql);

            DevExpress.XtraGrid.Views.Grid.GridView gvMain = gc.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
            for (int i = 0; i < dtTable.Rows.Count; i++)
            {
                DataRow drdt = dtTable.Rows[i];
                gvMain.AddNewRow();


                int j = gvMain.DataRowCount;
                foreach (DataColumn col in dtTable.Columns)
                {
                    if (_data.DsData.Tables[1].Columns.Contains(col.ColumnName))
                    {
                        _data.LstDrCurrentDetails[_data.LstDrCurrentDetails.Count - 1][col.ColumnName] = drdt[col.ColumnName];
                        if (gvMain.Columns[col.ColumnName] == null)
                        {
                            continue;
                        }
                        {
                            GridColumn       g = gvMain.Columns[col.ColumnName];
                            CDTRepGridLookup r = g.ColumnEdit as CDTRepGridLookup;
                            if (r == null)
                            {
                                continue;
                            }
                            BindingSource bs = r.DataSource as BindingSource;
                            if (!r.Data.FullData)
                            {
                                r.Data.GetData();
                                bs.DataSource = r.Data.DsData.Tables[0];
                                r.DataSource  = bs;
                            }

                            DataTable tbRep = bs.DataSource as DataTable;
                            int       index = r.GetIndexByKeyValue(drdt[g.FieldName]);

                            DataRow RowSelected = null;
                            if (index >= 0)
                            {
                                RowSelected = tbRep.Rows[index];
                            }
                            if (RowSelected != null)
                            {
                                _data.SetValuesFromListDt(_data.LstDrCurrentDetails[j], g.FieldName, drdt[g.FieldName].ToString(), RowSelected);
                            }
                        }
                    }
                }
                _data.DsData.Tables[1].Rows.Add(_data.LstDrCurrentDetails[_data.LstDrCurrentDetails.Count - 1]);
            }
        }
コード例 #6
0
ファイル: CusData.cs プロジェクト: trancongvy/CBADev17
        private void ValidMtID(DataColumn colMT, string value)
        {
            string fieldName = colMT.ColumnName;

            foreach (CDTGridLookUpEdit tmp in _glist)
            {
                if (tmp.Properties.Buttons[0].Tag != null)
                {
                    if ((tmp.Properties.Buttons[0].Tag as DataRow)["QueryInsertDt"].ToString() == string.Empty)
                    {
                        continue;
                    }
                    if (!this.isRefreshed)
                    {
                        this.Refresh(this, new EventArgs());
                        this.isRefreshed = true;
                    }
                    if (fieldName.ToLower() == (tmp.Properties.Buttons[0].Tag as DataRow)["FieldName"].ToString().ToLower())
                    {
                        try
                        {
                            string query = (tmp.Properties.Buttons[0].Tag as DataRow)["QueryInsertDt"].ToString();
                            //xoa cac dong da nhap
                            DevExpress.XtraGrid.Views.Grid.GridView gvMain = gc.MainView as DevExpress.XtraGrid.Views.Grid.GridView;
                            if (colMT.Table.TableName == "MT29" && fieldName == "MT2AID") //Piriou
                            {
                                gvMain.SelectAll();
                                gvMain.DeleteSelectedRows();
                                //gvMain.ClearSelection();
                                _data.LstDrCurrentDetails.Clear();
                            }

                            //gvMain.SelectAll();
                            //gvMain.DeleteSelectedRows();
                            ////gvMain.ClearSelection();
                            //_data.LstDrCurrentDetails.Clear();

                            //string fieldName = e.Column.ColumnName;
                            if (value == string.Empty)
                            {
                                continue;
                            }
                            DataTable dtTable;
                            query   = query.Replace("@" + fieldName, value);
                            dtTable = _data.DbData.GetDataTable(query);

                            for (int i = 0; i < dtTable.Rows.Count; i++)
                            {
                                DataRow drdt = dtTable.Rows[i];
                                gvMain.AddNewRow();

                                int j = gvMain.DataRowCount;
                                foreach (DataColumn col in dtTable.Columns)
                                {
                                    if (_data.DsData.Tables[1].Columns.Contains(col.ColumnName))
                                    {
                                        _data.LstDrCurrentDetails[_data.LstDrCurrentDetails.Count - 1][col.ColumnName] = drdt[col.ColumnName];
                                        if (gvMain.Columns[col.ColumnName] == null)
                                        {
                                            continue;
                                        }
                                        {
                                            GridColumn       g = gvMain.Columns[col.ColumnName];
                                            CDTRepGridLookup r = g.ColumnEdit as CDTRepGridLookup;
                                            if (r == null)
                                            {
                                                continue;
                                            }
                                            BindingSource bs = r.DataSource as BindingSource;
                                            if (!r.Data.FullData)
                                            {
                                                r.Data.GetData();
                                                bs.DataSource = r.Data.DsData.Tables[0];
                                                r.DataSource  = bs;
                                            }


                                            DataTable tbRep = bs.DataSource as DataTable;
                                            int       index = r.GetIndexByKeyValue(drdt[g.FieldName]);
                                            if (index == -1)
                                            {
                                                continue;
                                            }
                                            DataRow RowSelected = tbRep.Rows[index];
                                            if (RowSelected != null)
                                            {
                                                _data.SetValuesFromListDt(_data.LstDrCurrentDetails[j], g.FieldName, drdt[g.FieldName].ToString(), RowSelected);
                                            }
                                        }
                                    }
                                }
                                _data.DsData.Tables[1].Rows.Add(_data.LstDrCurrentDetails[_data.LstDrCurrentDetails.Count - 1]);
                            }
                            // gvMain.AddNewRow();
                        }
                        catch (Exception ex)
                        {
                            MessageBox.Show(ex.Message);
                        }
                    }
                }
            }
        }