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